其他分享
首页 > 其他分享> > 关于排列的问题小结

关于排列的问题小结

作者:互联网

CF-GR20题解

一场全是排列问题的CF

ICPC21SH B

关于排列的容斥计数题

CF-R803div2E-2300

先考虑如何判断一个确定的排列置换是否合法:
1.对于排列置换的环,考虑每次交换的影响,发现就是把一个点去掉;那么对于每一个数,只要判断它在环上的后面的第一个比它大的数即可。
2.进一步可以发现,只需要环上判断相邻两个数的关系,即考虑每条有向边。

那么按照出点从小到大考虑,合法的入点具有单调性,即前面的选择不会对后面的方案数产生影响,可以直接算出每一步的方案数。

CF-R793div2E-2700

考虑一个合法的操作,必然是交换两个原本在同一个置换环的数;于是考虑这个交换的影响,发现是把这个置换环分为了两个。
所以我们要做的就是安排这些顺序,使其不会出现交换的两个数在两个置换环的情况。
那么我们理应考虑什么时候会出现上述情况,通过模样例和画图会发现:
1.如果两个交换在一个环上,且这两个交换是相交的(且不只在端点处相交),那么不论以什么顺序操作,都不合法;
2.对于与同一个点有关的多个交换,必须按照环的顺时针方向顺序操作;
3.对于完全不相交的两个操作,它们之间没有影响。
由于题目保证有解,所以根据2的限制对操作连有向边,求任意一个拓扑序即可。
(发现在赛后慢慢想这种题,根据性质推导结论的过程还是很美妙的,然而时间有限的情况下确实很难搞)

标签:排列,环上,置换,交换,CF,关于,考虑,小结
来源: https://www.cnblogs.com/szsz/p/16463969.html