Solution Set - 杂题题解(二)
「CF1726E」Almost Perfect
观察发现,排列中只会含有一元置换环,二元置换环,类似 \((j,j+1,i,i+1)\) 的四元置换环。
具体证明忽略,接下来考虑咋做。
首先忽略四元环,容易推出只有一元环和二元环的式子:\(f_i=f_{i-1}+(i-1)f_{i-2}\)。
枚举四元环个数 \(i\),则选出四元环的方案数为 \(\binom{n-2i}{2i}\frac{(2i)!}{i!}\),解释就是先选出不相邻的数,再将他们组成 \((i,j)\) 这样的二元组,再乘上其他方案即可。
「CF95E」Lucky Country
乐子题,使用并查集求出连通块大小之后,问题就变成一个多重背包问题。
注意到物品的体积总和固定,那么本质不同的物品个数也就 \(\sqrt{n}\) 种,直接二进制分组即可。
「CF1245F」Daniel and Spring Cleaning
乐子题 *2。考虑二进制位,异或被称为不进位加法,那说明进位就寄,问题也就变成了:
容斥后,数位 DP 即可。
「CF1372E」Omkar and Last Floor
状态挺难猜到的。
设 \(f_{l,r}\) 表示 \([l,r]\) 这之中的列的贡献。
考虑枚举某一列 \(k\),将经过 \(k\) 的全部填上 \(1\),然后左右两边 \(f_{l,k-1}\) 和 \(f_{k+1,r}\) 是子问题,可以直接递归下去做。
由此可以简单做到 \(O(n^4)\),据说可以做到 \(O(n^3)\)。
「AGC038C」LCMs / 「LG-P3911」最小公倍数之和
两者本质相同,我们以后者为例进行讨论。
设 \(x\) 出现了 \(c_x\) 次,可以将式子改写成:
预处理后面的 \(\sum_{i|T}\mu(t)t\) 即可做到 \(O(n\ln n)\)。
「ICPC 2015 WF」Tours
妈的,证明好难,Link。
这里仅说说具体做法,每次选定一条非割边,则删去这条边之后新增的割边和这条边需要被染上平均的颜色,取 \(\gcd\) 即可。
「CF1299D」Around the World
首先预处理出大小为 \(5\) 的线性基个数,这个数是 \(374\),注意省去存在不能插入的线性基,因为这样会导致存在异或和为 \(0\)。
考虑将 \(1\) 点删去的连通块,这些连通块是相互独立的,我们以目前线性基为状态进行 DP,考虑每一个连通块的 DP 转移:
- 此连通块不满足条件,则连通块必须被删去,\(f_{i-1,j}\to f_{i,j}\)。
- 此连通块满足条件,但是连到 \(1\) 的边可能有多条:
- 一条,那么这条边可断可不断,\(f_{i-1,j}\to f_{i,j}\),\(f_{i-1,j\cup b_i}\to f_{i,j}\)。
- 两条,则共有三种情况,全断掉:\(f_{i-1,j}\to f_{i,j}\);断掉一条:\(2f_{i-1,j\cup b_i}\to f_{i,j}\),全部不断,此时会多出一个三元环,\(f_{i-1,j\cup b_i\cup w}\to f_{i,j}\)。
预处理出 \(374\) 个线性基两两求交的答案,即可做到 \(O(1)\) 转移,故总复杂度为 \(O(374n)\)。

浙公网安备 33010602011771号