首页 > 代码库 > 【poj1737】 Connected Graph

【poj1737】 Connected Graph

http://poj.org/problem?id=1737 (题目链接)

题意

  求n个节点的无向连通图的方案数,不取模w(?Д?)w

Solution

  刚开始想了个第二类斯特林数,然而并不知道怎么求具体方案,于是翻了题解。。

  设${f_n}$表示n个节点的方案数。

  那么n个节点所能够构成的无向图,无论连不连通,一共有${\frac{n*(n+1)}{2}}$条边,于是就有${2^{\frac{n*(n+1)}{2}}}$种图。考虑如何减去不连通的图的方案数。

  我们选择枚举1号节点与i个节点连通,则${1<=i<=n-2}$(因为要保证不连通)。

  那么这i个点的选择方案有${C^{i}_{n-1}}$种

  整个1号节点的联通块有${f_{i+1}}$种连接方式

  连通块以外的节点又有${2^{\frac{(n-i-1)*(n-i)}{2}}}$种连接方式

  所以得到递推式就是:

$${f_n=2^{\frac{n*(n+1)}{2}}-\sum^{n-2}_{i=1}{C^{i}_{n-1}×f_{i+1}×2^{\frac{(n-i-1)*(n-i)}{2}}}}$$

细节

  我已经预见到了自己10kb的程序。。于是随便蒯了个Java切了。。

代码

  坑着

【poj1737】 Connected Graph