1 条题解
-
0
题解:几何分布前缀和的期望计数
问题分析
我们生成 个独立同分布的随机变量 ,每个服从参数为 的几何分布:
定义前缀和 。
我们需要计算:
$$E\left[ \sum_{i=1}^n \mathbf{1}_{l \le y_i \le r} \right] = \sum_{i=1}^n P(l \le y_i \le r) $$其中 (成功次数为 ,成功概率为 的负二项分布)。
1. 负二项分布的概率
对于 ,它表示进行伯努利试验,直到获得 次成功所需的总试验次数。
因此:
$$P(y_i = k) = \binom{k-1}{i-1} p^i (1-p)^{k-i}, \quad k = i, i+1, \dots $$
2. 问题转化
我们需要计算:
$$\text{答案} = \sum_{i=1}^n \sum_{k=l}^r P(y_i = k) = \sum_{i=1}^n \sum_{k=l}^r \binom{k-1}{i-1} p^i (1-p)^{k-i} $$但 可达 ,直接计算不可行。
3. 交换求和顺序
交换求和顺序:
$$\text{答案} = \sum_{k=l}^r \sum_{i=1}^n \binom{k-1}{i-1} p^i (1-p)^{k-i} $$注意:当 时,,所以实际上 。
因此:
$$\text{答案} = \sum_{k=l}^r \sum_{i=1}^{\min(n,k)} \binom{k-1}{i-1} p^i (1-p)^{k-i} $$
4. 概率解释
对于固定的 ,内层求和:
$$\sum_{i=1}^{\min(n,k)} \binom{k-1}{i-1} p^i (1-p)^{k-i} $$这表示:在 次试验中,成功的次数 满足 的概率。
等价于: 次试验中至少成功 次且最多成功 次的概率。
5. 特殊情况分析
由于 ,且通常 不会太大(因为 不太小),实际上 。
因此:
$$\sum_{i=1}^k \binom{k-1}{i-1} p^i (1-p)^{k-i} = p \sum_{i=0}^{k-1} \binom{k-1}{i} p^i (1-p)^{k-1-i} $$根据二项式定理:
等等,这不对。让我重新检查。
6. 正确推导
设 ,则:
$$\sum_{i=1}^k \binom{k-1}{i-1} p^i (1-p)^{k-i} = p \sum_{j=0}^{k-1} \binom{k-1}{j} p^j (1-p)^{k-1-j} $$确实等于 。
这意味着对于每个 ,内层求和都等于 !
7. 最终简化
因此:
但样例中 ,按此公式得 ,与样例输出一致。
8. 验证合理性
为什么对于每个 ,概率 ?
概率意义:考虑第 次试验,它可能是某个 的终点,当且仅当第 次试验是成功的。
因为 表示第 次成功发生的时刻,所以第 次试验恰好是某个 当且仅当第 次成功。
因此,对于固定的 ,恰好有一个 使得 的概率就是第 次试验成功的概率 。
9. 答案公式
最终答案非常简单:
10. 边界情况验证
- 当 时,答案 ,表示平均每个位置被覆盖的概率为
- 当 时,,,落在 内的 数量为 ,答案 ,正确
- 当 时,答案趋于 ,合理
11. 代码实现
#include <iostream> #include <iomanip> using namespace std; int main() { int n, l, r; double p; cin >> n >> p >> l >> r; double ans = p * (r - l + 1); cout << fixed << setprecision(6) << ans << endl; return 0; }
12. 复杂度分析
- 时间复杂度:
- 空间复杂度:
在 时完全可行。
总结
本题的关键在于:
- 理解几何分布和负二项分布的关系
- 发现对于每个 , 的优美性质
- 将双重求和简化为单次乘法
- 验证公式的正确性
这是一个概率论的巧妙问题,考察对随机变量和期望的深刻理解。
- 1
信息
- ID
- 5423
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者