题目
给定长为n(n<=3e3)的排列p和排列q,
求满足以下限制条件的排列r的方案数,答案对1e9+7取模
限制条件:对于任意i∈[1,n],都有ri不等于pi,且ri不等于qi
思路来源
https://www.cnblogs.com/ak-dream/p/AK_Dream123.html
题解

感觉思路来源写的挺详细的,复述一遍
考虑容斥,算恰好冲突的k次的方案数,
剩下的随便选,转化成至少冲突k次的方案数,利用二项式反演解决
1. 先p[i]和q[i]之间连边建图,转化成若干个环和孤立点
2. 对于孤立点,想冲突只能选和孤立点相同的值
对于环来说,一个长为n的环,
如果需要选k条边,每条边需要钦定一个端点, 并且k条边之间钦定的端点不能相同
变边为点:把要选的边也看成是一个端点,并和其原来左右相连的两个端点各连一条边
这样仍然是一个环,
原来的操作:选一条边并钦定一个相连的点,
在新环上:则认为是在长度为2*n的环上,选择一对相邻的点两两匹配,
长为n的环上选k对相邻点的方案数
刚才的博弈题也用到了这个计数技巧,

文章介绍了如何利用容斥思想和二项式反演解决给定排列中避免特定冲突的排列数量问题,涉及图论、动态规划和IT竞赛解题方法。
最低0.47元/天 解锁文章
1036

被折叠的 条评论
为什么被折叠?



