*一道题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)\binom{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)\binom{i-1}{k-1}2^{\frac{i(i-1)}{2}}$。

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

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

而$\binom{n}{m}=\binom{n-1}{m-1}+\binom{n-1}{m}$,所以$w(i,j)=\sum_{k=1}^{i}g(k)\binom{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求。

posted @ 2018-06-15 16:22  Blue233333  阅读(177)  评论(0编辑  收藏  举报