*一道题21

$t leq 1000$次询问:$n leq 30000$的无向图的所有连边方式的权值总和,一种连边方式的贡献为连通块数的$m leq 15$次方。对998244353取模。

$n^3$:$f(i,j)$表示$i$个点$j$个连通块的方案数,$f(i,j)=sum_{k=1}^{i}g(k)inom{i-1}{k-1}f(i-k,j-1)$,$g(i)$表示$i$个点的连通图数,$g(i)=2^{frac{i(i-1)}{2}}-sum_{k=1}^{i-1}g(k)inom{i-1}{k-1}2^{frac{i(i-1)}{2}}$。

$n^2$:直接算答案,$f(i,j)$--$i$个点图的所有方案的“连通块个数的$j$次方”的和。由于$(n+1)^m=sum_{i=0}^{m}inom{m}{i}n^i$,所以$f(i,j)=sum_{k=1}^{i}g(k)inom{i-1}{k-1}sum_{t=0}^{j}inom{j}{t}f(i-k,t)$。

$mnlog^2n$:指数转组合数。$n^m=sum_{i=0}^{m}egin{Bmatrix} m \ i end{Bmatrix}inom{n}{i}i!$,所以$n^2$算法中的$f(i,j)=sum_{k=0}^{m}egin{Bmatrix} m \ k end{Bmatrix}k!w(i,j)$,其中$w(i,j)$表示$i$个点的图所有方案中,“$inom{连通块个数}{j}$”之和。

而$inom{n}{m}=inom{n-1}{m-1}+inom{n-1}{m}$,所以$w(i,j)=sum_{k=1}^{i}g(k)inom{i-1}{k-1}(w(i-k,j-1)+w(i-k,j))$,按$j$分层可整理成$frac{w(i,j)}{(i-1)!}=sum_{k=1}^{i}frac{g(k)}{(k-1)!}frac{w(i-k,j-1)+w(i-k,j)}{(i-k)!}$,是一个分治fft的形式。$g$可以多项式求逆或分治fft求。

原文地址:https://www.cnblogs.com/Blue233333/p/9187876.html