题目描述
记一个图的价值为其边数的平方。
问所有
n
个点的连通图的价值和,答案对
n≤2000
分析
最主要是要考虑到正难则反。
考虑算所有不联通图的答案,减去之即可。
那么这里记
g0(n)
表示
n
个点的所有图的方案数,即
g1(n)
表示
n
个点所有图的边数和。那么
记 g2(n) 表示 n 个点所有图的边数平方和。那么
那么计算
f
的时候,考虑枚举点
f0(n)=g0(n)−∑i=1n−1(ni)f0(i)g0(n−i)
f1(n)=f1(n)−∑i=1n−1(ni)[f0(i)g1(n−i)+f1(i)g0(n−i)]
f2(n)=f2(n)−∑i=1n−1(ni)[f0(i)g2n−i+2f1(i)g1(n−i)+f2(i)g0(n−i)]
那么这道题就做完了。
时间复杂度
O(n2)
空间复杂度
O(n)