关于一道期望经典题目的直接做法
简要题意:不断在 \(1,2,\cdots,n\) 中均匀随机抽取一个数,求首次每一个数都被抽到的期望次数。
应用期望的线性性进行 DP 很容易得到答案为 \(nH_n\)。那么,如果不用期望性质直接暴力求解能不能做?
下面是推导中要用到的式子,证明将在文末给出:
\[S_2(n,m)=\dfrac{1}{m!} \sum\limits_{i=0}^m (-1)^{m-i} \dbinom{m}{i} i^n \tag{1}
\]
\[\sum\limits_{m \geq n} m x^{m-1}=\dfrac{(1-n) x^n+n x^{n-1}}{(1-x)^2} \tag{2}
\]
\[\sum\limits_{i=0}^n (-1)^i \dbinom{n}{i} i^m =
\begin{cases}
0, & m < n\\
(-1)^n n! S_2(m,n), & m \geq n
\end{cases}
\tag{3}
\]
\[\sum\limits_{i=1}^n (-1)^{i} \dfrac{1}{i} \dbinom{n}{i}=-nH_n \tag{4}
\]
记首次每一个数都被抽到的次数为随机变量 \(X\)。事件 \(E\) 为 \(X=m\);事件 \(E_1\) 为 \(m-1\) 次内恰抽中了 \(n-1\) 个数;事件 \(E_2\) 为第 \(m\) 次抽中了未抽过的数。则有 \(E=E_1E_2\)。
\[P(E)=P(E_1) P(E_2 \mid E_1)=\dbinom{n}{1} \dfrac{(n-1)!S_2(m-1,n-1)}{n^{m-1}} \cdot \dfrac{1}{n}=(n-1)!\dfrac{S_2(m-1,n-1)}{n^{m-1}}
\]
\[\begin{aligned}
E(X) &= (n-1)! \sum\limits_{m \geq n} \dfrac{m}{n^{m-1}} S_2(m-1,n-1)\\
&= (n-1)! \sum\limits_{m \geq n} \dfrac{m}{n^{m-1}} \dfrac{1}{(n-1)!} \sum\limits_{i=0}^{n-1} (-1)^{n-1-i} \dbinom{n-1}{i} i^{m-1}, \text{with (1)}\\
&= \sum\limits_{i=0}^{n-1} (-1)^{n-1-i} \dbinom{n-1}{i} \sum\limits_{m \geq n} m (\dfrac{i}{n})^{m-1}\\
&= \sum\limits_{i=0}^{n-1} (-1)^{i} \dbinom{n-1}{i} \sum\limits_{m \geq n} m (1-\dfrac{i+1}{n})^{m-1}, \text{with }i \rightarrow n-1-i\\
&= \sum\limits_{i=0}^{n-1} (-1)^{i} \dbinom{n-1}{i} \sum\limits_{m \geq n} m \big(1-\dfrac{i+1}{n} \big)^{m-1}\\
\end{aligned}
\]
令 \(t=\dfrac{i+1}{n}\),由式 \(\text{(2)}\) 得:
\[\sum\limits_{m \geq n} m (1-\dfrac{i+1}{n})^{m-1}=\dfrac{(1-n)(1-t)^n+n(1-t)^{n-1}}{t^2} \triangleq \sum\limits_{k=-2}^{n-2} f_k(n) t^k
\]
其中 \(f_k(n)\) 为关于 \(n\) 的函数,且有:
\[f_{-2}(n)=(1-n)+n=1
\]
\[f_{-1}(n)=-n(1-n)-n(n-1)=0
\]
\[\begin{aligned}
E(X) &= \sum\limits_{i=0}^{n-1} (-1)^{i} \dbinom{n-1}{i} \sum\limits_{k=-2}^{n-2} f_k(n) \big( \dfrac{i+1}{n} \big)^k\\
&= \sum\limits_{k=-2}^{n-2} f_k(n) \sum\limits_{i=0}^{n-1} (-1)^{i} \dbinom{n-1}{i} \big( \dfrac{i+1}{n} \big)^k\\
\end{aligned}
\]
然而,当 \(0 \leq k \leq n-2\) 时,由式 \(\text{(3)}\),第二层和式的值始终为 \(0\),故只剩下 \(k=-2\) 的情况:
\[\begin{aligned}
E(X) &= n^2 \sum\limits_{i=0}^{n-1} (-1)^{i} \dfrac{1}{(i+1)^2} \dbinom{n-1}{i} \\
&= n \sum\limits_{i=0}^{n-1} (-1)^{i} \dfrac{1}{i+1} \dbinom{n}{i+1} \\
&= -n \sum\limits_{i=1}^{n} (-1)^{i} \dfrac{1}{i} \dbinom{n}{i} \\
&= nH(n), \text{with (4)}
\end{aligned}
\]
比想象中麻烦多了,不知道有没有更简单的方法。
下面是引理证明:
\((1)\):第二类斯特林数的通项公式,参考组合意义直接容斥即可得到。
\((2)\):错位相减,或者用方便的生成函数:
\[F(x)=\sum\limits_{i \geq n} x^k=\dfrac{x^n}{1-x}
\]
\[F'(x)=\sum\limits_{i \geq n} k x^{k-1}=\dfrac{nx^{n-1}(1-x)+x^n}{(1-x)^2}=\dfrac{(1-n) x^n+n x^{n-1}}{(1-x)^2}
\]
\((3)\):普通幂转化为下降幂,再用吸收公式。
\[\begin{aligned}
& \quad \sum\limits_{i=0}^n (-1)^i \dbinom{n}{i} i^m\\
&=\sum\limits_{i=0}^n (-1)^i \dbinom{n}{i} \sum\limits_{j=0}^m S_2(m,j) i^{\underline{j}}\\
&=\sum\limits_{j=0}^m S_2(m,j) \sum\limits_{i=0}^n (-1)^i \dbinom{n}{i} i^{\underline{j}}\\
&=\sum\limits_{j=0}^m n^{\underline{j}} S_2(m,j) \sum\limits_{i=0}^n (-1)^i \dbinom{n-j}{i-j} \\
&=\sum\limits_{j=0}^m (-1)^j n^{\underline{j}} S_2(m,j) [n=j] \\
&=
\begin{cases}
0, & m < n\\
(-1)^n n! S_2(m,n), & m \geq n
\end{cases}
\end{aligned}
\]
\((4)\):可以见 随机变量学习笔记。给出三种求法(参考 @ do_while_true 的题解 与 UOJ 群友给出的方法):
组合做法
如果不是 \(\frac{1}{i}\) 而是 \(\frac{1}{i+1}\),就可以直接吸收掉。
既然不能改变 \(\frac{1}{i}\),那能不能把组合数的下指标变成 \(i-1\) 呢?应用上指标求和:
\[\begin{aligned}
S_n &= \sum\limits_{i=1}^n (-1)^{i} \sum\limits_{j=0}^{n-1} \dbinom{j}{i-1} \dfrac{1}{i}\\
&= \sum\limits_{i=1}^n (-1)^{i} \sum\limits_{j=0}^{n-1} \dfrac{1}{j+1} \dbinom{j+1}{i}\\
&= \sum\limits_{j=0}^{n-1} \dfrac{1}{j+1} \sum\limits_{i=1}^n (-1)^{i} \dbinom{j+1}{i}\\
&= \sum\limits_{j=0}^{n-1} \dfrac{1}{j+1} (0-1)\\
&= -\sum\limits_{j=1}^{n} \dfrac{1}{j}\\
\end{aligned}
\]
代数做法(微积分)
\[\begin{aligned}
S_n &= \sum\limits_{i=1}^n (-1)^{i} \dbinom{n}{i} \int_0^1 t^{i-1} dt\\
&= \int_0^1 \dfrac{dt}{t} \sum\limits_{i=1}^n (-1)^{i} \dbinom{n}{i} t^{i}\\
&= \int_0^1 \dfrac{(1-t)^n-1}{t} dt\\
&=-\int_0^1 \dfrac{s^n-1}{1-s} ds,\text{with } s=1-t\\
&=\int_0^1 \sum\limits_{k=0}^{n-1} s^k ds\\
&= -\sum\limits_{k=1}^{n} \dfrac{1}{k}\\
\end{aligned}
\]
生成函数做法
\[\begin{aligned}
F(x) &= \sum\limits_{k \geq 0} S_k x^k\\
&= \sum\limits_{k \geq 0} \sum\limits_{i=1}^k (-1)^{i} \dfrac{1}{i} \dbinom{k}{i} x^k\\
&= \sum\limits_{i \geq 1} (-1)^{i} \dfrac{1}{i} \sum\limits_{k \geq i} \dbinom{k}{i} x^k\\
&= \sum\limits_{i \geq 1} (-1)^{i} \dfrac{1}{i} \dfrac{x^i}{(1-x)^{i+1}}\\
&= \dfrac{1}{1-x} \sum\limits_{i \geq 1} \dfrac{[-x/(1-x)]^i}{i}\\
&= -\dfrac{1}{1-x} \ln(1+\dfrac{x}{1-x})\\
&= \dfrac{\ln(1-x)}{1-x}\\
&=- \big(\sum\limits_{i \geq 0} x^i \big) \big(\sum\limits_{j \geq 1} \dfrac{x^j}{j} \big)
\end{aligned}
\]
\[S_n(x)=[x^n]F(x)= -\sum\limits_{j=1}^n \dfrac{1}{j}
\]