Acwing 307. 连通图

Posted Jozky86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing 307. 连通图相关的知识,希望对你有一定的参考价值。

Acwing 307. 连通图

题意:

求 N 个节点的无向连通图有多少个,节点有标号,编号为 1∼N。

例如下列图示,三个节点的无向连通图共 4 个。

题解:


用py写

代码:

 
def c(n, m):
 
    n = int(n)
    m = int(m)
    ret = 1
    for i in range(n - m + 1, n + 1):
        ret = ret * i
    for i in range(1, m + 1):
        ret = ret // i
    return ret
 
f = [0 for i in range(100)]
x = 1
 
f[1] = 1
for i in range(2, 60):
    f[i] = 2 ** (i * (i - 1) // 2)
    for j in range(1, i):
        f[i] = f[i] - f[j] * c(i - 1, j - 1) * 2 ** ((i - j) * (i - j - 1) // 2)
 
 
while 1:
    n = int(input())
    if n == 0:
        break
    print(f[n])

以上是关于Acwing 307. 连通图的主要内容,如果未能解决你的问题,请参考以下文章

概率与期望

AcWing 837. 连通块中点的数量 并查集

ACwing(基础)--- Kruskal

AcWing 342. 道路与航线

连通图的最小生成树是否唯一的?

题解——Acwing.342 道路与航线