CF1630E Expected Components
一年前因为不会群论而被薄纱的题/ll
首先我们发现联通块个数等于点数减去边数加上环数,又因为如果成环那么这个图里面肯定全相等,因此当 \(a\) 全相等的时候答案为 \(1\) 首先特判掉,然后我们只考虑至少有两种颜色的情况。
我们尝试计算总方案数和总边数来计算边数的期望。记总共有 \(cnt\) 种颜色,每种颜色出现了 \(c_j\) 次,在某个循环了 \(i\) 次的循环节中,总方案数显然是 \(\frac{n}{i}\choose \frac{c_1}{i},\frac{c_2}{i},\dots,\frac{c_{cnt}}{i}\),总边数只需要固定一对点相等的相邻然后计算贡献即可。
但是如果暴力计算是 \(O(n^2)\) 的不能通过。注意到有值的必要条件是 \(i\leq \min(c)\leq \frac{n}{cnt}\),因此有用的值只有 \(\frac{n}{cnt}\) 个,总复杂度是 \(O(n)\) 的。
但是最后还要求个逆元,所以总复杂度 \(O(\sum n+T\log p)\)。

浙公网安备 33010602011771号