小可可又在造数据,只不过这次是一个联通图。
小可可要造一个 n 个点的联通图,由于她非常懒,于是决定每次在 [1,n] 中独立地等概率随机两个点 u,v(可以相同),然后将 u,v 之间连一条边。
小可可发现要等到整张图联通需要不少时间,于是问你期望连多少次边后整张图联通,答案对一个质数 p 取模。
1≤n≤100。
设 dpn,k 表示 n 个点的图,经过 k 次之后仍然不联通的概率。
枚举与 1 联通的点个数,有:
dpn,k=i=1∑n−1j=0∑k(i−1n−1)(jk)(1−dpi,j)(n2i2)j(n2(n−i)2)k−j=i=1∑n−1j=0∑k(i−1n−1)(jk)(n2i2)j(n2(n−i)2)k−j−(i−1n−1)(jk)dpi,j(n2i2)j(n2(n−i)2)k−j=i=1∑n−1(i−1n−1)(n2i2+(n−i)2)k−i=1∑n−1j=0∑k(i−1n−1)(jk)dpi,j(n2i2)j(n2(n−i)2)k−j
归纳证明 dpn,k=l=0∑n2−1fn,l(n2l)k,其中 fn,l 是递推得出的系数。
等式前面一部分形式已经符合此形式,考虑后面一部分:
=i=1∑n−1j=0∑k(i−1n−1)(jk)dpi,j(n2i2)j(n2(n−i)2)k−j=i=1∑n−1(i−1n−1)l=0∑i2−1fi,lj=0∑k(jk)(i2l)j(n2i2)j(n2(n−i)2)k−j=i=1∑n−1(i−1n−1)l=0∑i2−1fi,l(n2l+(n−i)2)k
于是
l=0∑n2−1fn,l(n2l)k=i=1∑n−1(i−1n−1)(n2i2+(n−i)2)k−i=1∑n−1l=0∑i2−1fi,l(i−1n−1)(n2l+(n−i)2)k
那么可以 O(n4) 求出 f(n,l)。
答案即为 i=0∑n2−1k=0∑+∞fn,i(n2i)k=i=0∑n2−1fn,in2−in2。