AT_arc067_c [ARC067E] Grouping

题目描述

有 $N$ 个人,编号从 $1$ 到 $N$。你需要将他们分成若干组,使得满足以下两个条件: - 每个组的人数不少于 $A$ 人且不多于 $B$ 人。 - 设 $F_i$ 表示恰好有 $i$ 个人的组的数量,则对于所有的 $i$,要么 $F_i=0$,要么 $C \leq F_i \leq D$。 请你计算有多少种不同的分组方式。若两种分组方式存在一对人,在一种分组中他们在同一组,另一种分组中他们不在同一组,则认为这两种分组方式不同。答案可能很大,请输出对 $10^9+7$ 取模的结果。

输入格式

输入一行,包含五个整数: > $N$ $A$ $B$ $C$ $D$

输出格式

输出满足条件的分组方式数,对 $10^9+7$ 取模。

说明/提示

## 限制 - $1 \leq N \leq 10^3$ - $1 \leq A \leq B \leq N$ - $1 \leq C \leq D \leq N$ ## 样例解释 1 有以下 $4$ 种分组方式: - $(1,2),(3)$ - $(1,3),(2)$ - $(2,3),(1)$ - $(1,2,3)$ 像 $(1),(2),(3)$ 这样的分组方式虽然满足第一个条件,但不满足第二个条件,因此不计入答案。 ## 样例解释 2 除了将 $5$ 个人分成两个 $2$ 人组和一个 $3$ 人组之外,没有其他合适的分组方式。这样的分组方式共有 $105$ 种。 ## 样例解释 4 答案有可能为 $0$。 由 ChatGPT 4.1 翻译