CF1392H

给定 \(n\) 张数字牌 \(1\sim n\)\(m\) 张鬼牌,每次随机抽一张牌,现有一个集合 \(S\)

  • 若其为数字牌,那么给 \(S\) 中加入其,并移除。
  • 若其为鬼牌,则将被移除的牌加回来,如果此时 \(S\) 构成了全集,那么 GG

求期望操作次数。

  • 请注意 \(S\) 不会删减。

\(n,m\le 2\times 10^6\)

Solution

好仙啊!

考虑答案可以怎么计算,实际上我们可以认为我们每次的操作为一直抽牌直到抽到鬼牌。

于是答案就是期望抽牌的次数乘以单次抽牌的轮数。

单次抽牌的轮数可以转换为操作 \(i\) 次后仍没有抽到鬼牌的概率和,即:

\[\begin{aligned} &\sum_{i=0}^{n} P(X\ge i)=\sum_{i=0}^n \frac{n^{\underline{i}}}{(n+m)^{\underline{i}}} \\&=\sum_{i=0}^n \frac{n!(n+m-i)!}{(n-i)!(n+m)!} \\&=\frac{n!}{(n+m)!}\sum^n \frac{(n+m-i)!}{(n-i)!} \\&=\frac{n!}{(n+m)!}\sum^n (n+m-i)^{\underline{m}} \\&=\frac{n!}{(n+m)!}\sum^n \frac{(n+m-i+1)^{\underline{m+1}}-(n+m-i)^{\underline{m+1}}}{m+1} \\&=\frac{n!}{(n+m)!}\times \frac{(n+m+1)^{\underline{m+1}}}{m+1} \\&=\frac{n!(n+m+1)!}{n!(n+m)!(m+1)} \\&=1+\frac{n}{m+1} \end{aligned}\]

接下来考虑抽卡轮数的期望,这个本身不太好算,但我们可以考虑 \(\min-\max\) 容斥,现在只需要考虑期望操作多少轮之后可以得到 \(S\) 中的一张牌。

仍然考虑转换期望,变成操作了 \(i\) 次之后没有抽到牌的概率和,同时不难发现每轮的操作独立,同一轮的操作只需要关注操作了剩余的 \(n-|S|\) 张牌。

\(p\) 为操作一轮后没有 D 到集合 \(S\) 中的牌的概率,不难得到期望的操作轮数为:

\[\sum_{i=0}^{\infty} p^i \]

即:

\[\frac{1}{1-p} \]

同时,设 \(k=n-|S|\),不难发现 \(p\) 为:

\[\begin{aligned} &\sum_{i=0}^{k} \frac{k^{\underline{i}}}{(n+m)^{\underline{i+1}}}\times m \\&=m\sum_{i=0}^k \frac{k!(n+m-i-1)!}{(k-i)!(n+m)!} \\&=\frac{k!\cdot m}{(n+m)!}\sum_{i=0}^k\frac{(n+m-i-1)!}{(k-i)!} \\&=\frac{k!\cdot m}{(n+m)!}\sum_{i=0}^k (n+m-i-1)^{\underline{n+m-k-1}} \\&=\frac{k!\cdot m}{(n+m)!}\times \frac{(n+m)^{\underline{n+m-k}}}{n+m-k} \\&=\frac{k!\cdot m(n+m)!}{(n+m)!(n+m-k)k!} \\&=\frac{m}{n+m-k} \\&=\frac{m}{m+|S|} \end{aligned}\]

回代得到答案:

\[\sum_{i=1}^n \binom{n}{i}(-1)^{i+1}\frac{m+i}{i} \]

最后得到最终答案:

\[(1+\frac{n}{m+1})\times (\sum_{i=1}^n \binom{n}{i}(-1)^{i+1}\frac{m+i}{i}) \]

然后我们就可以得到答案了。

posted @ 2020-09-10 16:44  Soulist  阅读(194)  评论(0编辑  收藏  举报