D. 红球分配

    传统题 1000ms 256MiB

红球分配

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

红球分配

题目描述

活动室里有 KK 个蓝球和 N−KN-K 个红球,同一种颜色的球无法区分。

小林把这 NN 个球从左到右排成一列,要求最左边的第一个球必须是蓝球。两种排列不同,当且仅当至少一个位置上的球颜色不同。

小周负责收走全部蓝球,红球始终留在原处。每次操作,他可以收走一段连续排列的蓝球,所选的这一段可以包含一个或多个蓝球。小周会使收走全部蓝球所需的操作次数尽可能少。

对于每个 i=1,2,…,Ki=1,2,\ldots,K,请计算有多少种满足首球要求的排列,使得小周最少需要恰好 ii 次操作。答案对 109+710^9+7 取模。

输入格式

输入一行,包含两个整数 NN 和 KK,分别表示球的总数和蓝球的个数。

所有输入均满足 1≤K≤N≤20001\le K\le N\le 2000。

输出格式

输出 KK 行。第 ii 行输出最少需要恰好 ii 次操作的排列数量对 109+710^9+7 取模的结果。

如果不存在对应的排列,该行输出 00。

输入输出样例

输入 #1

4 2

输出 #1

1
2

输入 #2

4 4

输出 #2

1
0
0
0

输入 #3

1 1

输出 #3

1

样例说明

用 B 表示蓝球,R 表示红球。

样例 1 中,首球为蓝球的排列只有 BBRR、BRBR 和 BRRB。BBRR 中的两个蓝球相邻,可以一次收走;后两种排列中,两个蓝球被红球隔开,必须分别收走。因此两行答案是 11 和 22。

样例 2 中没有红球,唯一的排列是 BBBB。全部蓝球连续,一次就能收完,所以只有第一行是 11,其余各行均为 00。

样例 3 中只有一个蓝球。它满足首球要求,也恰好需要一次操作。

【睿爸信奥】入门组算法周赛(20260912)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-9-12 0:00
结束于
2026-9-19 0:00
持续时间
168 小时
主持人
参赛人数
14