摘要: 把一个排列看成若干个环(i连向p[i])。每次操作,相当于拆掉一个环,或者合并两个环。把所有环,分成同色环和非同色环两类。非同色环,总能用环长-1次操作消掉。同色环可以和别的环合并,变成非同色环。这个过程需要贪心:每次合并两个出现次数最多的颜色的同色环。 阅读全文
posted @ 2020-07-14 19:46 duyiblue 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 考虑使用一个O(2^m*m)的状压DP解决这个问题。发现需要预处理出每个装修队集合,能装修的边集的并的大小。边集并,容斥一下,转化为求边集交。而边集交,只和点集交的大小有关。于是又转化为求点集交。考虑每个点的贡献,做高维后缀和即可。 阅读全文
posted @ 2020-07-14 10:07 duyiblue 阅读(272) 评论(0) 推荐(0) 编辑