do_while_true

一言(ヒトコト)

「题解」P6130 随机红包

\([0,1]\) 上随机撒 \((n-1)\) 个点划分成 \(n\) 段,求第 \(k\) 大的段长的期望。

从 Appleblue17 老师的题解中学的,大概详细写很多一笔带过但是我不认为很简单的步骤。

Part 1

令随机变量 \(X\) 为第 \(k\) 大的段长。\(E(X)=\int_0^1P(X=x)x\text dx=\int_0^1P(X\geq x)\text dx=1-\int_0^1P(X<x)\text dx\),现在来计算 \(P(X<x)\)

\(k\)\(<x\) 当且仅当恰好\(t\)\(\geq x\) 其中 \(t<k\)

运用二项式反演,令 \(f_t\) 表示恰好 \(t\)\(\geq x\) 的概率,\(g_t\) 表示钦定 \(t\)\(\geq x\) 的概率,那么有:

\[g_t=\sum_{i=t}^n\binom{i}{t}f_t \\ f_t=\sum_{i=t}^n(-1)^{i-t}\binom{i}{t}g_t \]

\(P(X<x)\) 就是 \(\sum_{t=0}^{k-1}f_t\)

Part 2

考虑计算 \(g_t\),首先乘上组合数 \(\binom{n}{t}\) 选出钦定的段,使得“钦定的段”与“未钦定的段”之间没有顺序区分,这样就能将钦定段按顺序放到最前面。

通过用 \(\binom{n}{t}\) 去除掉“钦定的段”与“未钦定的段”之间的顺序,我们来构建《\([0,1]\) 随机放点,前 \(t\) 个段段长 \(\geq x\)》与《\([0,1]\) 随机放点,所有点均落在 \([tx,1]\) 中》这两个问题的双射。

前者映射到后者:将前 \(t\) 段每段劈成长为 \(x\) 和长为 \(len-x\) 的两部分,再把长为 \(len-x\) 的部分移动到这 \(t\) 个长为 \(x\) 段的右侧。这样就是最前面有 \(t\) 个长为 \(x\) 的段,然后剩下 \((1-tx)\) 的长度分了 \(n\) 段。

后者映射到前者:将 \([tx,1]\) 被劈开的 \(n\) 部分中的前 \(t\) 部分分配给前面那 \(t\)\(x\)

通过这个双射,得到 \(g_t=(1-tx)^{n-1}\)

注:我不知道有没有更好的处理方式,我能想到的比较严谨的证明就是这个。

Part 3

组合上的手法到此结束了,现在就能列出答案进行推式子了。答案是:

\[\begin{aligned} &1-\int_0^1 P(X<x)\text dx \\ =&1-\int_0^1 \sum_{t=0}^{k-1}\sum_{i=t}^n[ix\leq 1](-1)^{i-t}\binom{i}{t}\binom{n}{i}(1-ix)^{n-1}\text dx \end{aligned} \]

想通过交换求和号与积分号通过将积分的上界改写成 \(\frac{1}{i}\) 来去掉 \([ix\leq 1]\) 的限制,将 \(t=i=0\) 的那一项单独拿出来就能往下写了。

\[\begin{aligned} =&1-\int_0^1 \sum_{t=0}^{k-1}\sum_{i=t}^n[i>0](-1)^{i-t}\binom{i}{t}\binom{n}{i}(1-ix)^{n-1}-1 \\ =&-\sum_{t=0}^{k-1}\sum_{i=t}^n[i>0](-1)^{i-t}\binom{i}{t}\binom{n}{i}{\color{Red}{\int_0^1(1-ix)^{n-1}\text dx}} \\ =&-{\color{Red}{\frac{1}{n}}}\sum_{t=0}^{k-1}\sum_{i=t}^n[i>0](-1)^{i-t}\binom{i}{t}\binom{n}{i}{\color{Red}{\frac{1}{i}}} \end{aligned} \]

最后一步需要求 \((1-ix)^{n-1}\) 的不定积分:

\[\begin{aligned} &\int(1-ix)^{n-1}\text dx \\ =&\int(1-ix)^{n-1}(-i)\text dx/(-i) \\ =&\int (1-ix)^{n-1}\text d(1-ix)/(-i) \\ =&\frac{(1-ix)^n}{-in} \end{aligned} \]

这个就是第一换元积分法,\((1-ix)^{n-1}=u^{n-1}\) 换元,利用 \(\frac{\text du}{\text dx}=u'\Rightarrow u'\text dx=\text du\),把 \(\text du\) 凑出来,这样就转化成了求 \(\int u^{n-1}\text du\)

Part 4

然后将 \(t=0\) 这一项单独拿出来看,先不去管 \(-\frac{1}{n}\)

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

两种解法。

第一种解法的思路大概是这个形式看上去就很想去吸收,但是不能直接用吸收恒等式,那么就沿用吸收恒等式的思路去想办法把 \(\frac{1}{i}\) 凑到某个阶乘里面形成另一个组合数,从而想到去运用上指标求和:

\[\begin{aligned} =&\sum_{i=1}^n(-1)^i\sum_{j=0}^{n-1}\binom{j}{i-1}\frac{1}{i} \\ =&\sum_{i=1}^n(-1)^i\sum_{j=0}^{n-1}\binom{j+1}{i}\frac{1}{j+1} \\ =&\sum_{j=0}^{n-1}\frac{1}{j+1}\sum_{i=1}^{j+1}(-1)^i\binom{j+1}{i} \\ =&-\sum_{j=1}^{n}\frac{1}{j} \end{aligned} \]

最后一步是将后面的求和号写成 \((1-1)^{j+1}-1\)

第二种解法的思路是去凑二项式定理的形式,那就需要把 \(\frac{1}{i}\) 这里的 \(i\) 放到指数上,把它写成一个定积分 \(\frac{1}{i}=\int_0^1 t^{i-1}\text dt\)

\[\begin{aligned} =&\sum_{i=0}^n(-1)^i\binom{n}{i}\int_0^1 t^{i-1}\text dt \\ =&\int_0^1\text dt\frac{1}{t}\sum_{i=0}^n(-1)^i\binom{n}{i} t^i \\ =&\int_0^1\text dt\frac{(1-t)^n}{t} \\ =&\int_0^1\text dt\frac{(1-t)^n}{1-(1-t)} \\ =&\int_0^1\text dt\sum_{i=0}^{n-1}(1-t)^i \\ =&\sum_{i=0}^{n-1}\int_0^1\text dt(1-t)^i \\ =&-\sum_{i=1}^{n}\frac{1}{i} \end{aligned} \]

第三行到第四行是去凑等比数列求和,然后再对等比数列每一项积分。最后一步省略的就是前面说的第一类换元积分法(凑微分)。

所以 \(t=0\) 这部分对答案的贡献是 \(\frac{1}{n}\sum_{i=1}^n\frac{1}{i}\)

Part 5

\(t>0\) 的那些:

\[\begin{aligned} =&-\frac{1}{n}\sum_{t=1}^{k-1}\sum_{i=t}^n(-1)^{i-t}\binom{i}{t}\binom{n}{i}\frac{1}{i} \\ =&-\frac{1}{n}\sum_{t=1}^{k-1}\sum_{i=t}^n(-1)^{i-t}\frac{1}{t}\binom{i-1}{t-1}\binom{n}{i} \\ =&-\frac{1}{n}\sum_{t=1}^{k-1}\frac{1}{t}\sum_{i=0}^{n-t}(-1)^i\binom{i+t-1}{t-1}\binom{n}{i+t} \end{aligned} \]

发现 \((-1)^i\binom{i+t-1}{t-1}\) 形式太好看了,它就是 \([x^i]\frac{1}{(1+x)^t}\)(广义二项式定理之后上指标反转),那就把两个组合数都去写成生成函数的某一项系数:

\[\begin{aligned} =&-\frac{1}{n}\sum_{t=1}^{k-1}\frac{1}{t}\sum_{i=0}^{n-t}\left([x^i]\frac{1}{(1+x)^t}\right)\left([x^{n-i-t}](1+x)^{n}\right) \end{aligned} \]

这正是个卷积的形式,那么:

\[\begin{aligned} =&-\frac{1}{n}\sum_{t=1}^{k-1}\frac{1}{t}[x^{n-t}](1+x)^{n-t} \\ =&-\frac{1}{n}\sum_{t=1}^{k-1}\frac{1}{t} \end{aligned} \]

加上 \(t=0\)\(\frac{1}{n}\sum_{i=1}^n\frac{1}{i}\),我们得到了最终的答案:

\[\frac{1}{n}\sum_{i=k}^{n}\frac{1}{i} \]

End.

posted @ 2024-02-15 15:56  do_while_true  阅读(12)  评论(0编辑  收藏  举报