#P16594. [GKS 2016 #E] Partioning Number

[GKS 2016 #E] Partioning Number

题目描述

Shekhu 有 NN 个球。她想把它们分配到一个或多个桶中,并满足以下所有约束条件:

  1. 从左到右读取时,桶中的球数必须呈非递减顺序。
  2. 最左边的桶必须非空,且最左边桶中的球数必须能被 DD 整除。
  3. 任意两个桶之间的球数之差(并不仅是相邻桶)必须小于或等于 22

Shekhu 有多少种不同的分配方式?如果从左到右读取桶中球数的列表不同,则认为两种方式不同。

输入格式

输入的第一行给出测试用例的数量 TT

接下来有 TT 个测试用例。每个测试用例由一行两个整数 NNDD 组成,含义如上所述。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是上述答案。

3
7 1
7 2
2 4
Case #1: 10
Case #2: 1
Case #3: 0

提示

在样例 #1 中,可能的分布为:

1 1 1 1 1 1 1
1 1 1 1 1 2
1 1 1 1 3
1 1 1 2 2
1 2 2 2
1 1 2 3
1 3 3
2 2 3
3 4
7

注意,1 2 4 不是有效的分布,因为 1 和 4 之间的差值大于 2。

在样例 #2 中,可能的分布为:

2 2 3

3 4 不可行,因为第一项不能被 2 整除。

在样例 #3 中,不存在可行的排列。

限制条件

1T1001 \le T \le 100

1D1001 \le D \le 100

小数据集(测试集 1 – 可见)

1N20001 \le N \le 2000

大数据集(测试集 2 – 隐藏)

1N1051 \le N \le 10^5

翻译由 DeepSeek V4 Pro 完成