求出n个点的简单(无重边无自环)无向连通图数目,$n <= 130000$,$mod 1004535809$
设$f_i$表示i个点的无向连通图数,连通图计数的套路,枚举1号点所在的连通块大小
\begin{array}{rcl}
f_n&=&2^{C_n^2}-\sum\limits_{i=1}^{n-1}\binom{n-1}{i-1}f_i 2^{C_{n-i}^2}
\\f_n&=&2^{C_n^2}-(n-1)!\sum\limits_{i=1}^{n-1}\frac{f_i}{(i-1)!}\frac{2^{C_{n-i}^2}}{(n-i)!}
\\\frac{f_n}{(n-1)!}&=&\frac{2^{C_n^2}}{(n-1)!}-\sum\limits_{i=1}^{n-1}\frac{f_i}{(i-1)!}\frac{2^{C_{n-i}^2}}{(n-i)!}
\end{array}
设$F_i=\frac{f_i}{(i-1)!},G_i=\frac{2^{C_i^2}}{i!},F_1=1,G_0=0$
有
\begin{array}{rcl}
F_n&=&\frac{2^{C_n^2}}{(n-1)!}-\sum\limits_{i=0}^{n}F_iG{n-i}
\end{array}
发现后面是自己卷自己的形式,分治NTT即可。$\Theta(nlog^2n)$
在叶子节点已经收集完这个点所需要的所有信息,把前面的项考虑进去,更新别人。
把相似的项放在一起,能提到$\sum$外的提出去,找到定值,设多项式,构造卷积形式。
原文地址:https://www.cnblogs.com/hzoi-yzh/p/12038683.html
时间: 2024-11-08 19:15:56