关于期望的一切

本文包括以下方面:

  • 离散期望
    • 基础定义
      • 随机事件
      • 随机事件结果
      • 期望的意义
    • 基础期望 DP
      • 裸期望 DP
      • 期望 DP 与解方程
      • 期望 DP 与前缀和
      • 期望 DP 与顺推
  • 连续期望
    • 基础定义
      • 采样推导
      • PDF 与 CDF
      • 高重积分
      • 测度
    • 多项式与连续期望
      • 配合 DP
      • 配合 FFT
  • 期望 DP 高级
    • 期望 DP 与生成函数
    • 期望 DP 与矩阵快速幂
    • 期望 DP 与 FWT

期望:是对一个随机事件的结果的平均值的估计。
例如说:有一个游戏:抛硬币,正面赚 100 元,反面赔 100 元,你会觉得这个游戏不赚不赔,这个游戏的期望就是 0.
又有一个游戏:正面赚 100 元,反面赔 50 元,你会觉得这个游戏稳赚不赔,你会发现,有 12 的概率赚 100,12 的概率赔 50,期望为:12×100+12×(50)=25

离散期望

基础概念

定义 1.1:设 E 是一个随机事件集,V(e)e 事件的结果,P(e)e 事件的发生概率,则期望被定义为:

E(S;V,P)=eSV(e)P(e)

,例如上面的游戏 2:E=V()P()+V()P()=12×100+12×(50)=25
,再例如,一个均匀的六面骰子的期望点数是:E({1,2,3,4,5,6})=V(1)P(1)+V(2)P(2)++V(6)P(6)=16(1+2+3+4+5+6)=72

一个经典的例题:有一枚硬币,抛出正面你赚一块钱,并可以继续抛;抛出反面终止游戏。求期望。请思考一下。
考虑在哪一次出现了反面。

  • 反:概率 1/2,赚 0 元
  • 正反:概率 1/4,赚 1 元
  • 正正反:概率 1/8,赚 2 元
  • 正...正(n个)反:概率 1/2n+1,赚 n 元。

所以期望值为:

E({,,})=i=0+i2i+1=i=1+i2i+1

这是一个无穷级数的求和,考虑错位相减

E2=i=0+i2i+2=i=1+i12i+1

EE2=i=1+12i+1=12

E=1

定理 1.1:期望具有可数乘性、可乘性。即

E({a};C,1)=C

E(A;k×V,P)=k×E(A;V,P)

E(A1×A2;V1×V2,P1×P2)=E(A1;V1,P1)×E(A2;V2,P2)

E(A1+A2;V1+V2,P1+P2)=E(A1;V1,P1)+E(A2;V2,P2)

定义 1.1

期望 DP

Problem 1: [https://atcoder.jp/contests/abc280/tasks/abc280_e](ABC 280 E)
题意:设有一序列 a 满足 a0=n,有

  • p% 的概率 ai+1=ai2
  • (100p)% 的概率 ai+1=ai1

a 的大于零部分的期望长度。时间复杂度要求 O(n)

设函数 f(x) 表示 a0=x 的大于零部分的期望长度。
注意到首先去掉 a0,把 a1 当作 a0,则有 f(a0)=1+f(a1)
考虑到 a1={a02p%a01(100p)%,有 f(x)=1+p%f(x2)+(1p%)f(x1)
动态规划即可。

Problem 2: Problem 1 变体
题意:设有一序列 a 满足 a0=n,有

  • p% 的概率 ai+1=ai0
  • (100p)% 的概率 ai+1=ai1

a 的大于零部分的期望长度。时间复杂度要求 O(n)
同样设函数 f(x),得到 f(x)=1+p%f(x)+(100p)%f(x1),解方程得到 f(x)=f(x1)+100100p。(显然又有 f(x)=x×100100p

Problem 3: Problem 1 变体
题意:设有一序列 a 满足 a0=n,有

  • 1m 的概率 ai+1=ai1
  • 1m 的概率 ai+1=ai2
  • ...
  • 1m 的概率 ai+1=aim

a 的大于零部分的期望长度。保证 p=100、时间复杂度要求 O(n)
同样设 f(x),得到柿子:

f(x)=1+i=1mf(xi)1m

f(x)=1+1mi[x1,xm]f(i)

f(x)=1+1m(Q(x1)Q(xm1))

,其中 Q 是前缀和数组。
代码差不多就是这样的:

Z f[N], Q_[N * 2]; Z *Q = Q_ + N; int main() { for (int i = 1; i <= n; ++ i) { f[i] = 1 + (Q[i - 1] - Q[i - m]) / m; Q[i] = Q[i + 1] + f[i]; } cout << f[n] << endl; } /* * 有可能 i - m < 0,所以进行下标负数化处理。 */

Problem 4: ABC 271 G
设数组 p 满足 p 是 T 或 A 访问的概率。则一天内不访问的概率是:

D=i=023(1pi)


设函数 f(x,y) 代表 x:00 访问了 y 次,

E=0+x+P(y)dydx


__EOF__

本文作者lhx-OIer
本文链接https://www.cnblogs.com/lhx-oier/p/16995782.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   lhx_Oier  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示