题意:输出题中带有$n$个标号的图中连通图的个数。
解题关键:
令$f(n)$为连通图的个数,$g(n)$为非联通图的个数,$h(n)$为总的个数。
则$f(n) + g(n) = h(n)$
考虑标号1所在的联通分量中连通图的个数。
转移方程:$g(n) = \sum\limits_{k = 1}^{n - 1} {C_{n - 1}^{k - 1}f(k)h(n - k)} $
$h(n) = \frac{
{n(n - 1)}}{2}$import java.math.*;import java.util.*;public class Main { public static void main(String[] args) { BigInteger h[]=new BigInteger [55],C[][]=new BigInteger[55][55]; C[0][0]=BigInteger.ONE; for(int i=0;i<=50;i++){ //预处理组合数 C[i][0]=C[i][i]=BigInteger.ONE; for(int j=1;j