优先装箱(pack)
题目描述
Y 同学有一个容量为 的箱子,以及 个物品。物品按 到 编号,第 个物品的价值为
对于每个物品,Y 同学可以独立地将其大小设为 或 。
随后,一个打包机会按照如下固定策略选择要装入箱子的物品:
- 先处理所有大小为 的物品,并按照编号从小到大的顺序装入,直到箱子容量用尽或所有大小为 的物品均已处理完毕。
- 若箱子仍有剩余容量,再处理所有大小为 的物品,并按照编号从小到大的顺序装入,直到剩余容量不足以继续装入大小为 的物品,或所有大小为 的物品均已处理完毕。
对于一种确定的物品大小分配方案,称打包机的结果为“最优”,当且仅当不存在另一个总大小不超过 的物品子集,其总价值严格大于打包机所选物品的总价值。
求有多少种给 个物品分配大小的方案,使得打包机得到的结果已经是最优结果。
两种方案不同,当且仅当至少存在一个物品在两种方案中的大小不同。
答案对 取模。
输入格式
一行输入两个正整数 ,分别表示物品数量和箱子容量。
输出格式
输出一行一个整数,表示满足条件的大小分配方案数对 取模后的结果。
样例
样例输入 #1
2 2
样例输出 #1
3
样例输入 #2
114 514
样例输出 #2
304170860
样例输入 #3
1919 810
样例输出 #3
310652647
数据范围与约定
对于 的数据,保证 。
| 测试点编号 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 无 | ||||
| 特殊性质 A | ||||
| 特殊性质 B | ||||
| 无 | ||||
特殊性质 A:保证 。
特殊性质 B:保证 。
京公网安备11010802045784号