[R63D]区间缩小
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
1S/512M
题目描述
给定一个初始区间 ,你需要依次进行 次操作。
第 次操作给定一个非负整数 ,表示本步需要使区间的长度减少恰好 。每次操作时,你必须在以下两种方式中选择一种执行:
- 方式 a:将左端点向右移动 ,即令 ;
- 方式 b:将右端点向左移动 ,即令 。
特别地,当 时,虽然区间的实际端点没有发生变化,但选择“方式 a”与“方式 b”仍被视为两种不同的操作。
我们用一个长度为 的操作序列来记录每一步的选择(序列中每个位置为 a 或 b)。求对于每个 ,有多少种不同的操作序列,使得 次操作全部完成后,最终的区间恰好收缩为单点 ?
由于方案数可能很大,请将结果对 取模。
格式
输入格式
第一行包含两个整数 和 。
第二行包含 个整数 。
输出格式
输出一行,包含 个整数,相邻两个整数之间用一个空格隔开。其中第 个整数表示最终满足 的操作序列数量对 取模后的值。
样例
样例输入 #1
3 2
1 1
样例输出 #1
1 2 1
样例解释 #1
初始区间为 。
- 若要使最终 :唯一合法的操作序列为
[b, b],区间变化过程为 。 - 若要使最终 :合法的操作序列有
[a, b](区间变化为 )和[b, a](区间变化为 ),共 种。 - 若要使最终 :唯一合法的操作序列为
[a, a],区间变化过程为 。
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 | 分数 | 特殊限制 | ||
|---|---|---|---|---|
| 无 | ||||
| 无 | ||||
对于 的数据,,,。
代码源挑战赛 Round 63
- Status
- Done
- Rule
- DMY
- Start at
- 2026-5-29 20:00
- End at
- 2026-5-29 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 390