bzoj 3456 城市规划 无向简单连通图个数 多项式求逆

题目大意

求n个点的无向简单连通图个数

做法1

\(f[i]\)表示i个点的无向简单连通图个数
\(g[i]=2^{\frac {i*(i-1)}{2}}\)表示i个点的无向简单图个数(不要求连通)
f[i]就是g[i]减去不连通的情况数
我们枚举\(1\)所在连通块大小\(j\)
则有

\[\begin{aligned} f[i]&=g[i]-\sum_{j=1}^{i-1}\binom {i-1}{j-1}f[j]*g[i-j]\\ g[i]-f[i]&=\sum_{j=1}^{i-1}\frac{(i-1)!}{(j-1)!(i-j)!}f[j]*g[i-j]\\ \frac {g[i]}{(i-1)!}-\frac {f[i]}{(i-1)!}&=\sum_{j=1}^{i-1}\frac{f[j]}{(j-1)!}*\frac {g[i-j]}{(i-j)!}\\ \frac {g[i]}{(i-1)!}&=\sum_{j=1}^{i}\frac{f[j]}{(j-1)!}*\frac {g[i-j]}{(i-j)!}\\ A&=B*C\\ B&=A*C^{-1} \end{aligned} \]

好了显然了
弄成生成函数求个逆就好了

做法2

\[\begin{aligned} \frac {g[i]}{(i-1)!}&=\sum_{j=1}^{i}\frac{f[j]}{(j-1)!}*\frac {g[i-j]}{(i-j)!}\\ 提出\frac {f[i]}{(i-1)!}\\ \frac {f[i]}{(i-1)!}&=\frac {g[i]}{(i-1)!}-\sum_{j=1}^{i-1}\frac{f[j]}{(j-1)!}*\frac {g[i-j]}{(i-j)!}\\ \end{aligned} \]

分治+FFT

做法3

多项式求ln

solution

没时间了先不写了 挖坑

posted @ 2017-02-28 12:08  _zwl  阅读(314)  评论(0编辑  收藏  举报