城市规划[多项式、连通图计数]

求出n个点的简单(无重边无自环)无向连通图数目,$n <= 130000$,$mod 1004535809$

设$f_i$表示i个点的无向连通图数,连通图计数的套路,枚举1号点所在的连通块大小

egin{array}{rcl}
f_n&=&2^{C_n^2}-sumlimits_{i=1}^{n-1}inom{n-1}{i-1}f_i 2^{C_{n-i}^2}
\f_n&=&2^{C_n^2}-(n-1)!sumlimits_{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)!}-sumlimits_{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$

egin{array}{rcl}
F_n&=&frac{2^{C_n^2}}{(n-1)!}-sumlimits_{i=0}^{n}F_iG{n-i}
end{array}

发现后面是自己卷自己的形式,分治NTT即可。$Theta(nlog^2n)$

在叶子节点已经收集完这个点所需要的所有信息,把前面的项考虑进去,更新别人。

把相似的项放在一起,能提到$sum$外的提出去,找到定值,设多项式,构造卷积形式。

原文地址:https://www.cnblogs.com/hzoi-yzh/p/12038683.html