数学

几何分布与前缀和

(2023 年 12 月,清华大学算法协会 THUPC 2024 初赛)

链接: https://thupc2024.thusaac.com/contest/2/problem/2

题意

给定一个实数 p,0 < p < 1,设 n 个随机变量 X_i 独立同分布于几何分布 G(p),即

P(X_i = k) = (1 - p)^{k - 1} p,

然后,令 Y_1, \dots, Y_n 为 X_1, \dots, X_n 的前缀和,又给定两个整数 l, r,满足 1 \le l \le r \le n,求落在区间 [l, r] 内 Y_i 的期望个数。

现场做法

猜想答案只与区间长度 r - l + 1 有关,平移区间 [l, r] 不改变答案,因此可只考虑区间为 [1, n] 的答案。

使用概率 DP 的方法,设 a_n 表示区间 [1, n] 内的 Y_k 的期望个数,则当 X_1 = k \le n 时,对期望产生 1 的贡献。此时若要 Y_2, \dots, Y_m 仍然落在 [1, n] 内,等价于 X_2, X_2 + X_3, \dots, X_2 + \cdots + X_m 落在 [1, n - k] 内,这个子问题的期望等于 a_{n - k}。由于 X_1 = k 的概率为 (1 - p)^{k - 1} p,有

a_n = p(1 + a_{n - 1}) + (1 - p) p(1 + a_{n - 2}) + \cdots + (1 - p)^{n - 2}p (1 + a_1) + p(1 - p)^{n - 1}.

于是有

a_n - p(1 + a_{n - 1}) = (1 - p)[p(1 + a_{n - 2}) + \cdots + p(1 - p)^{n - 2}]

等式右边方括号内恰好等于 a_{n - 1},得到

a_{n} - p(1 + a_{n - 1}) = (1 - p) a_{n - 1},

因此

a_n - a_{n - 1} = p.

这说明这个数列是一个等差数列。由于 a_1 = P(X_1 = 1) = p,所以 a_n = np。

因此,原问题只要输出答案 a_n = (r - l + 1)p 即可。

官方题解

考虑有无穷多个灯,编号从 1 开始线性排开,每个灯都有概率 p 亮起。

设 X_1 表示从左向右第一个找到一个亮起的灯的编号,则这个编号就服从几何分布,也就是 X_1 的分布。因此,Y_i 表示第 i 个亮起的灯的位置。

问有多少个数落入 [l, r],就是在询问,[l, r] 之间有多少个亮起的灯。由于每个灯亮起的概率为 p,由期望的线性,总的亮灯数就是 p(r - l + 1)。

评注

该过程非常类似于 Poisson 过程,只不过是离散的,这个随机过程可以称为 Bernoulli 过程。

同 Poisson 过程,可以定义 \{N(n): n \in \mathbb{N}\} 表示前 n 次抛硬币,有 N(n) 次正面朝上的随机过程,那么显然两次硬币朝上的时间间隔就是几何分布 G(p),第 k 次硬币朝上的时刻就是负二项分布 Nb(k, p)。

类似泊松过程的模拟,该问题产生 n 个几何分布随机数,再对其求前缀和,也是一次 Bernoulli 过程的硬币朝上时刻的 Monte Carlo 模拟。因此,Y_i 表示第 i 次硬币朝上的时刻,而询问多少个 Y_i 落在区间 [l, r] 中,等价于询问区间 [l, r] 有多少次硬币朝上,该答案服从二项分布 b(r - l + 1, p),期望为 (r - l + 1)p。

BEYOND THE ARTICLE

读完了,有什么想法?

阅读已保存的问答示例,并循着引用回到原文。

查看公开问答示例
— 本文完 — 返回文章列表