专栏文章
Solution:AT_arc202_d [ARC202D] King
AT_arc202_d题解参与者 6已保存评论 8
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mioszi9u
- 此快照首次捕获于
- 2025/12/03 00:39 3 个月前
- 此快照最后确认于
- 2025/12/03 00:39 3 个月前
省队集训原题。场上一眼秒了。
根据省集原题,显然我们可以把 方向与 方向的移动拆开。但是我们发现题目里要求我们不能待在原地不动,这个没有任何问题,我们直接容斥有几步是原地不动的就完事了。
令 为:从 出发,走 步到达 ,每步可以从 移动到 ,要求移动过程中不能超出 的方案数。现在我们需要对于每个 求出 与 ,这样移动至多 步的方案 就是这两个乘起来。
现在我们考虑怎么求 ,同样把原题的根号分治套过来,当 直接 暴力 DP,否则直接 对于每个 折线容斥。
但是我们只会每次走到 的折线容斥,现在可以不动了怎么办?直接枚举有 步留在原地,剩下 步的方案数 就可以折线容斥,然后我们发现 ,所以直接卷就完事了。
最后简单容斥一下,答案是
注意容斥系数只有 ,组合数实际上是在枚举有哪几步原地不动。
但是官方题解是 ,怎么回事呢!
考虑优化求 。用 ABC309Ex 的多项式方法做反射容斥,这样通过一些简单的转化,我们就只需要解决对于 求 了,其中卷积是 意义下的循环卷积。
考虑分治,如果我们想求 的答案,我们可以在分治过程中先顺便求出 。此时我们发现除了 到 的项以外都是没用的,所以需要保留的项数与分治区间长度同阶。
这样就做到了 。但是显然这是跑不过 的,事实上据 Kapt 的提交前者的用时是后者的 倍以上。
相关推荐
评论
共 8 条评论,欢迎与作者交流。
正在加载评论...