专栏文章

题解:P12735 回报

P12735题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mip4f1pa
此快照首次捕获于
2025/12/03 05:59
3 个月前
此快照最后确认于
2025/12/03 05:59
3 个月前
查看原文
好久没写题解了。
怎么判定一个排列合不合法呢?答案是找到最左边的 aa 环和最右边的 bb 环,然后看看是不是不交的。
那就可以想到做一个分界点,然后枚举左边的一个 aa 环和右边的一个 bb 环,和原问题需要一步点减边 Trick 的转化。
那么现在的问题是对于长度为 nn,存在至少一个长度为 aa 的环计数。至少一个肯定不如钦定一个好做,只需要一次容斥就可以完成这步转化。
然后就是交换循环顺序,变成枚举 aa 环数量,枚举 bb 环数量再枚举分界点,那么枚举分界点就可以用范德蒙德卷积优化掉。
最后会得出一个卷积的式子,FFT 即可,时间复杂度 O(nlogn)O(n\log n)
代码懒得给了。

评论

0 条评论,欢迎与作者交流。

正在加载评论...