P4841 [集训队作业2013]城市规划 题解
\(\textbf{Description}\)
求 \(n\) 个点的有标号的无向连通图数目。
\(\text{restrictions}:1\le n\le1.3\times10^5\)
\(\textbf{solution}\)
我们设 \(g_i\) 表示有 \(i\) 个点的有标号无向图数目,易得 \(g_i = 2^{C_n^2}\)。
考虑枚举每两个点之间是否连通。
设 \(f_i\) 表示有 \(i\) 个点的连通图数目(即答案所求)。
则可得:
\[g_n = \sum_{i=1}^n C_{n-1}^{i-1}f_i g_{n-i}
\]
考虑 \(1\) 号点所处的连通块大小 \(i\),则需要从 \(n-1\) 个点中选出 \(i-1\) 个点,剩下 \(n-i\) 个点随便排列,即 \(g_i\) 的含义。
推一波式子:
\[g_n = \sum_{i=1}^n C_{n-1}^{i-1}f_i g_{n-i}\\
g_n = (n-1)!\sum_{i=1}^n \frac {f_i} {(i-1)!} \times \frac {g_{n-i}} {(n-i)!} \\
\frac {g_n} {(n-1)!} = \sum_{i=1}^n \frac {f_i} {(i-1)!} \times \frac {g_{n-i}} {(n-i)!}
\]
设
\[F(x) = \sum_{i=1}^{+\infty}\frac {f_i} {(i-1)!}x^n\\
G(x) = \sum_{i=1}^{+\infty}\frac {g_i} {(i-1)!}x^n\\
H(x) = \sum_{i=0}^{+\infty}\frac {g_i} {i!} x^n
\]
则
\[F = H*G^{-1}\\
f(x) = \frac {F(x)} {(n-1)!}
\]
\(G,H\) 可以预处理,套个多项式求逆的板子即可。