atcoder#ARC067C. [ARC067E] Grouping
[ARC067E] Grouping
题目描述
から までの番号のついた 人の人がいます。 以下の二つの条件を満たすように、彼らをいくつかのグループに分けたいです。
- どのグループも、そのグループに含まれる人数が 人以上 人以下である。
- ちょうど 人の人が含まれるようなグループの数を で表したとき、 すべての について、 または が成り立っている。
このようなグループ分けが何通りあり得るか求めてください。 ただし、ある二つのグループ分けが異なるとは、二人の人の組であって、 片方のグループ分けでは同じグループに含まれ、他方では同じグループに含まれないようなものが存在することを意味します。 なお、答えは非常に大きくなることがあるので、 で割った余りを出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
あり得るグループ分けの個数を、 で割った余りを出力せよ。
题目大意
有个人,编号依次是, 现在要将他们分成若干组,满足:
-
每一组的人数均在之间。
-
记为当前分组方案中人数为的组的数量,则应满足或.
其中均为给定值。
求本质不同的分组方案数对取模后的结果。两种方案是本质不同的当且仅当存在两个人使得在第一种方案中他们在同一组,而在第二种方案中不是。
数据范围:$1\leq N\leq 10^3,1\leq A\leq B\leq N,1\leq C\leq D\leq N$
3 1 3 1 2
4
7 2 3 1 3
105
1000 1 1000 1 1000
465231251
10 3 4 2 5
0
提示
制約
Sample Explanation 1
以下の 通りの分け方があります。 - - - - のような分け方は、一つ目の条件は満たしていますが、 二つ目の条件を満たしていないために数えられません。
Sample Explanation 2
人グループ、 人グループ、 人グループの三つに分ける以外に適切な分け方はありません。 そして、このような分け方は 通りあります。
Sample Explanation 4
答えが になることもあり得ます。