专栏文章
P11316题解
P11316题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqyagje
- 此快照首次捕获于
- 2025/12/04 12:43 3 个月前
- 此快照最后确认于
- 2025/12/04 12:43 3 个月前
P11316
尝试复健。
如果直接正向考虑 不整除的情况,太复杂,所以考虑算出不好的排列,然后拿总数减去它。
总数可以直接算出来,故不细说。考虑 表示一共有 对 被 整除的数对的排列个数。这个直接做有点难,但是可以设 表示一共有 对不好的数对的排列个数,然后作容斥。
我们把整个序列每 个切一段,那么 同余的位置在每个段内相对位置相同,我们要做的就是在这些位置中取出若干对位置进行计数。具体地,设当前枚举 ,枚举选出 个位置转移,则有方程(设 为整个序列中 的位置个数):
即 个位置中选 个 分配颜色方案数 选出的 个数顺序。
然后,我们已经选出了 对,对于剩下的 个数,依据上面的方式继续乘以 颜色分配方案数 乘以 颜色顺序即可。
以上我们即可求出 表示 对不好数对的方案数,最后乘以一个 的系数累加即可得到不好的排列个数,拿最开始的方案数即 减去即可。
复杂度 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...