题目大意
求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
没时间了先不写了 挖坑