概率期望

概率期望

我是哪里来的信心在考前学完概率期望

CSP 前不会在往后推了,CSP 以后再说罢。

应该没有人像我一样最后统一写题解了吧。——12.29补完

基本点:

  1. \(E(A+B)=E(A)+E(B)\) 不需要 \(A,B\) 互相独立。
  2. \(E(AB)=E(A)+E(B)\) 需要 \(A,B\) 互相独立。
  3. \(E(A)=P(A)*A\)
  4. \(P(A|B)*P(B)=P(B|A)*P(A)=P(AB)\)

其他做题的小点:

  1. \(E(X^2)\ne (E(X))^2\)

    因为 \(X\)\(X\) 不相互独立。

    解决方法也很简单,直接单独递推维护 \(E^2,E\) 即可。

  2. 对于有明确起点和终点的,一般直接 \(dp\) 推,一般倒推优于正推。

  3. 对于没有起点和终点的序列,可以考虑每个点的贡献期望求和。

  4. 有的策略就是期望 \(\ge 0\)

例题:

  1. 绿豆蛙的归宿

    算是典的有终点:

    考虑倒推。

    \(dp_{u}\) 表示从 \(i\) 到终点期望。

    显然 \(dp_u=\sum\limits_{u\to v} \frac{dp_v}{k}\)\(k\) 表示 \(u\) 的子节点个数)

  2. 聪聪和可可

    看似没有终点,其实因为猫每次一定向鼠靠近,所以有终点。

    记忆化。

    定义 \(dp_{i,j}\) 表示猫在 \(i\) 鼠在 \(j\) 期望。

    预处理 \(dis_{i,j}\) 表示 \(i\to j\) 长度。

    显然 \(dis_{i,j}\le 2\)\(dp_{i,j}=1\) ,其他 \(dp_{i,j}=\sum\limits_{i\to x} \frac{dp_{x,y}}{k}\)\(y\)\(j\) 决策后的点)

  3. OSU!

    典。递推。

    考虑有 \(l\) 连续成功,\(l+1\) 成功贡献 \((l+1)^3-l^3=3l^2+3l+1\)

    注意要单独维护 \(E(l^2)\)

    \[(l+1)^2=l^2+2l+1\Rightarrow E((l+1)^2)=E(l^2)+2E(l)+1 \]

  4. Red is good

    DP。

    \(dp_{i,j}\) 表示还有 \(i\) 张红,\(j\) 张黑。

    这里的最优策略就是和 \(0\)max

    \[dp_{i,j}=P(red)(\max(dp_{i-1,j},0)+1)+P(black)(\max(dp_{i,j-1},0)-1) \]

    最后别忘再和 \(0\) 取一次 max

  5. 守卫者的挑战

    简单 DP。

    \(dp_{i,j,k}\) 表示进行到第 \(i\) 轮,胜利 \(j\) 次,背包容量 \(k\) 的概率。

    考虑 \(i\) 次是否成功简单转移。

  6. 单选错位

    经典考虑每个贡献。

    一看好像挺复杂,其实很简单。

    因为期望的相加不要求独立,考虑第 \(i\) 个题做对的可能性 \(\frac{\min(a_i,a_{i-1})}{a_{i}a_{i-1}}\)\(a_i\) 表示第 \(i\) 个题的答案数)。

    相加即可。

  7. 列队春游

    显然:

    \[\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{l=1}^{j}lP(j|L=l) \]

    \(i\) 枚举 \(a_i\)\(j\) 枚举位置,\(l\) 枚举长度,\(P(j|L=l)\) 表示在 \(j\) 时长度 \(=l\) 概率。

    然后有一个巧妙的转换:

    \[\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{l=1}^{j}P(j|L\ge l) \]

    发现转换以后位置其实就无关了,也就是:

    \[\forall j\in[l,n],P(j|L\ge l)=P(n|L\ge l) \]

    所以直接将 \(j\) 去掉。

    \[\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{l=1}^{j}P(L\ge l)=\sum\limits_{i=1}^n\sum\limits_{l=1}^{n}\sum\limits_{j=l}^{n}P(L\ge l)=\sum\limits_{i=1}^n\sum\limits_{l=1}^{n}P(L\ge l)(n-l+1) \]

    接下来直接推式子,\(c_i\) 表示 \(a\)\(\ge a_i\) 的个数:

    \[\begin{aligned} \sum\limits_{i=1}^n\sum\limits_{l=1}^{n}P(L\ge l)(n-l+1) & =\sum\limits_{i=1}^n\sum\limits_{l=1}^{n}\frac{A_{n-c_i}^{l-1} (n-l)!(n-l+1)}{n!}\\ & =\sum\limits_{i=1}^n\frac{1}{n!}\sum\limits_{l=0}^{n-1}A_{n-c_i}^l (n-l)!\\ & =\sum\limits_{i=1}^n\frac{1}{n!}\sum\limits_{l=0}^{n-1}\frac{(n-c_i)!(n-l)!}{(n-c_i-l)!}\\ & =\sum\limits_{i=1}^n\frac{(n-c_i)!c_i!}{n!}\sum\limits_{l=0}^{n-1}\frac{(n-l)!}{(n-c_i-l)!c_i!}\\ & =\sum\limits_{i=1}^n\frac{(n-c_i)!c_i!}{n!}\sum\limits_{l=0}^{n-1}\binom{n-l}{c_i}\\ & =\sum\limits_{i=1}^n\frac{(n-c_i)!c_i!}{n!}\sum\limits_{l=1}^{n}\binom{l}{c_i}\\ & =\sum\limits_{i=1}^n\frac{(n-c_i)!c_i!}{n!}\sum\limits_{l=0}^{n}\binom{l}{c_i}\\ & =\sum\limits_{i=1}^n\frac{(n-c_i)!c_i!}{n!}\binom{n+1}{c_i+1}\\ & =\sum\limits_{i=1}^n\frac{n+1}{c_i+1}\\ \end{aligned}\]

    你说的对,但是其实可以直接推式子。

其他的以后慢慢补吧。


想不到吧,有生之年竟然补了,哈哈哈。

  1. 矩阵粉刷

考虑求每个点不被覆盖的概率,显然求。

最后容斥即可。

  1. 卡牌游戏

约瑟夫常用套路。

发现不好表示具体是谁还活着。

可以设 \(dp_{i,j}\) 表示第 \(i\) 轮,当 \(1\) 坐庄时,第 \(j\) 人的胜率。

转移时可以直接推出具体是谁。

  1. 「HNOI2013」游走

贪心,求每个边的走过的次数期望。

显然贪心,次数越多填的值越小。

列出转移,发现有后效行,直接高斯消元即可。

  1. [HNOI2011]XOR和路径

这个是上一个的加强。

列出转移方程,发现带异或,不能直接消元。

考虑每位都无关,每位拆开分别算即可。

  1. [SHOI2014]概率充电器

列出方程,发现不止和子树相关,还和父亲相关。

考虑换根,先只考虑子树,在加上父亲即可。

和上一题类似,但是多测。

求出任意节点到其父亲和儿子的期望步数,求前缀和。

最后通过 \(lca\) 回答即可。

  1. 「SHOI2017」分手是祝愿

首先我们要解决最优策略。

发现一个开关一定不能管辖到比他大的灯,所以从大到小按一定最优。

考虑随机的情况。

发现按同一个开关两次会抵消,而且不存在几种方案拼接能按成更大的按钮,所以方案是唯一的,并且按一次最多让需要的次数加一或减一。

求从需要 \(i\)\(i-1\) 的期望次数即可。

  1. 灯灯灯

先考虑熄灭红灯的,绿灯类似。

最后一次一定是红灯,剩下的可以枚举绿灯全排。

总共的:

\[P=\frac{\sum\limits_{i=1}^{n}i \times \binom{n-i+m-1}{n-i}+\sum\limits_{i=1}^{m}i \times \binom{n-1+m-i}{m-i}}{\binom{n+m}{n}}=\frac{n}{m+1}+\frac{m}{n+1} \]

  1. 「SDOI2017」硬币游戏

神题,不好想。

40 pts 可以直接 ACAM 上跑 DP

考虑为什么概率会不一样。

一个人什么时候会赢:

\(S\) 是一个没有人赢的串,\(A_i\) 表示第 \(i\) 个人赢得串。

看似是 \(S+A_i\) ,但其实会有 \(S\) 后缀和 \(A_i\) 前缀是另一个人的赢串,所以需要减去这个概率。

然后就可以列方程了。

\(P\) 表示一个没有人赢的串的出现概率,\(P_i\) 表示 \(i\) 赢得概率,\(pre_l\) 为长度为 \(l\) 的后缀(\(A\) 串),\(suf_l\) 为长度为 \(l\) 的前缀(\(S\) 串)。

有 $$f_i + \sum_{j = 1}^{n}f_j\sum_{k = 1}^{m}[pre_{k} = suf_{k}]\dfrac{1}{2^{m - k}} = \dfrac{f_0}{2^{m}}$$

发现少一个,加上 \(\sum f_i=1\) 就可以了。

posted @ 2024-07-04 17:23  xrlong  阅读(9)  评论(0编辑  收藏  举报