【2022 NOIP 模拟赛 25】取啊 做题记录

小可可又在造数据,只不过这次是一个联通图。

小可可要造一个 nn 个点的联通图,由于她非常懒,于是决定每次在 [1,n][1, n] 中独立地等概率随机两个点 u,vu, v(可以相同),然后将 u,vu, v 之间连一条边。

小可可发现要等到整张图联通需要不少时间,于是问你期望连多少次边后整张图联通,答案对一个质数 pp 取模。

1n1001\le n\le 100

dpn,kdp_{n, k} 表示 nn 个点的图,经过 kk 次之后仍然不联通的概率。

枚举与 11 联通的点个数,有:

dpn,k=i=1n1j=0k(n1i1)(kj)(1dpi,j)(i2n2)j((ni)2n2)kj=i=1n1j=0k(n1i1)(kj)(i2n2)j((ni)2n2)kj(n1i1)(kj)dpi,j(i2n2)j((ni)2n2)kj=i=1n1(n1i1)(i2+(ni)2n2)ki=1n1j=0k(n1i1)(kj)dpi,j(i2n2)j((ni)2n2)kj\begin{aligned} dp_{n, k} =&\sum\limits_{i = 1}^{n - 1} \sum\limits_{j = 0}^k \binom{n - 1}{i - 1} \binom{k}{j} (1 - dp_{i, j}) \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j}\\ &= \sum\limits_{i = 1}^{n - 1} \sum\limits_{j = 0}^k \binom{n - 1}{i - 1} \binom{k}{j} \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j} - \binom{n - 1}{i - 1} \binom{k}{j} dp_{i, j} \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j}\\ &= \sum\limits_{i = 1}^{n - 1} \binom{n - 1}{i - 1} \left( \frac{i^2 + (n - i)^2}{n^2} \right) ^k - \sum\limits_{i = 1}^{n - 1} \sum\limits_{j = 0}^k \binom{n - 1}{i - 1} \binom{k}{j} dp_{i, j} \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j} \end{aligned}

归纳证明 dpn,k=l=0n21fn,l(ln2)kdp_{n, k} = \sum\limits_{l = 0}^{n^2 - 1} f_{n, l} \left( \frac{l}{n^2} \right) ^k,其中 fn,lf_{n, l} 是递推得出的系数。

等式前面一部分形式已经符合此形式,考虑后面一部分:

=i=1n1j=0k(n1i1)(kj)dpi,j(i2n2)j((ni)2n2)kj=i=1n1(n1i1)l=0i21fi,lj=0k(kj)(li2)j(i2n2)j((ni)2n2)kj=i=1n1(n1i1)l=0i21fi,l(l+(ni)2n2)k\begin{aligned} &= \sum\limits_{i = 1}^{n - 1} \sum\limits_{j = 0}^k \binom{n - 1}{i - 1} \binom{k}{j} dp_{i, j} \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j}\\ &= \sum\limits_{i = 1}^{n - 1} \binom{n - 1}{i - 1} \sum\limits_{l = 0}^{i^2 - 1} f_{i, l} \sum\limits_{j = 0}^k \binom{k}{j} \left( \frac{l}{i^2} \right) ^j \left( \frac{i^2}{n^2} \right) ^j \left( \frac{(n - i)^2}{n^2} \right) ^{k - j}\\ &= \sum\limits_{i = 1}^{n - 1} \binom{n - 1}{i - 1} \sum\limits_{l = 0}^{i^2 - 1} f_{i, l} \left( \frac{l + (n - i)^2}{n^2} \right) ^k \end{aligned}

于是

l=0n21fn,l(ln2)k=i=1n1(n1i1)(i2+(ni)2n2)ki=1n1l=0i21fi,l(n1i1)(l+(ni)2n2)k\sum\limits_{l = 0}^{n^2 - 1} f_{n, l} \left( \frac{l}{n^2} \right) ^k=\sum\limits_{i = 1}^{n - 1} \binom{n - 1}{i - 1} \left( \frac{i^2 + (n - i)^2}{n^2} \right) ^k-\sum\limits_{i = 1}^{n - 1} \sum\limits_{l = 0}^{i^2 - 1} f_{i, l} \binom{n - 1}{i - 1}\left( \frac{l + (n - i)^2}{n^2} \right) ^k

那么可以 O(n4)O(n^4) 求出 f(n,l)f(n,l)

答案即为 i=0n21k=0+fn,i(in2)k=i=0n21fn,in2n2i\sum\limits_{i = 0}^{n^2 - 1} \sum\limits_{k = 0}^{+\infty} f_{n, i} \left( \frac{i}{n^2} \right) ^k = \sum\limits_{i = 0}^{n^2 - 1} f_{n, i} \frac{n^2}{n^2 - i}