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

题目大意

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

做法1

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

[egin{aligned} f[i]&=g[i]-sum_{j=1}^{i-1}inom {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

[egin{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

没时间了先不写了 挖坑

原文地址:https://www.cnblogs.com/acha/p/6478305.html