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})
\]
然后我们就可以得到答案了。