期望

期望

好像没有什么知识点呀 😅

满足可加性 E(ax+by)=aE(x)+bE(y)E(ax+by)=aE(x)+bE(y)

当事件 x,yx,y 相互独立时满足可乘行 E(x×y)=E(x)×E(y)E(x\times y)=E(x)\times E(y)

nn 个相互独立取值在 [0,1][0,1] 的随机变量,其中第 kk 小的随机变量的值的期望

考虑引入一个新随机变量 n+1n+1 ,发现第 kk 小的随机变量的值期望等于新点在第 kk 小变量前面的概率

因为是连续随机变量,分布是均匀的,所以可以抽象成排列来考虑,将随机变量看成隔板,现在隔板将 [0,1][0,1] 均匀分成 n+1n+1 份,而 kk 前面有 kk 份,所以第 kk 小的随机变量的值的期望是 kn+1\frac{k}{n+1}

其实下面也有好多典题 😅

P4316 绿豆蛙的归宿

题意:求 dagdag 上从 SS 走到 TT 的期望步数

倒推:设 fuf_u 表示从 uu 走到 TT 的期望步数,转移是 fu=v(u,v)E(fv+w)deguf_u=\sum\limits_{v}^{(u,v) \in E} \frac{(f_v+w)}{deg_u} 其中 degdeg 是出度

正推:设 fuf_u 表示从 SS 走到 uu 的期望步数,转移是 fv=u(u,v)E(fu+gu×w)degu,gu=u(u,v)Egudeguf_v=\sum\limits_{u}^{(u,v) \in E} \frac{(f_u+g_u \times w)}{deg_u},g_u=\sum\limits_{u}^{(u,v) \in E} \frac{g_u}{deg_u}

倒着推很没意思,但是正着推感觉好怪,但是仔细想想是对的,因为我不一定走 (u,v)(u,v) 这条边,等于就是 E(a+bx)E(a+bx) 中的 xx ,但是为啥倒推是对的呀 🤔,因为从 uu 出发必定要走一条出边,所以概率和为一,也就是 x=wdegx=\frac{w}{deg}

正推:code

我不会做部分

CF235B Let’s Play Osu!

二次期望

我们现在想求 E(x2)E(x^2) 不会,嘿嘿 🤭

假设现在连续 OO 长度为 xx ,我们加上一个 OO 的贡献是 E((x+1)2)E(x2)=E(x2)+E(1)+E(2x)E(x2)=E(2x+1)E((x+1)^2)-E(x^2)=E(x^2)+E(1)+E(2x)-E(x^2)=E(2x+1)

现在我们需要知道 E(x)E(x) ,容易发现 E(x)=(E(x1)+1)×piE(x)=(E(x-1)+1)\times p_i

P1654 OSU!

和上面差不多

P1850 [NOIP2016 提高组] 换教室

fi,j,0/1f_{i,j,0/1} 表示我现在上到第 ii 节课,用了 jj 次换教室机会,现在在 ci/dic_i/d_i 的期望步数,直接 dpdp 即可

代码我已经看不懂了

P2473 [SCOI2008] 奖励关

🕊🕊🕊

P6835 [Cnoi2020]线形生物

简单题 💧💧💧

不想写了看题解去吧

P4206 [NOI2005] 聪聪与可可

🕊🕊🕊

CF280C Game on Tree

考虑 dpdp ,发现根本不会做🤡

那就把每个点根据期望的线性性拆开

设现在的点是 uuuuxx 个祖先,将操作看成序列,发现 uu 会有贡献当且仅当所有祖先都在我后面,所以期望贡献是 1depu\frac{1}{dep_u} ,这玩意我想了一年 👈🤣

#2544. 「JXOI2018」游戏

🧐🧐🧐

感觉和上面的很像,只用检查所有区间内没有约数的数就可以了

然后这个题还有一个好玩的东西

现在有 nn 个球,求随便选出 kk 个关键球,最后一个点位置的期望

我现在要算最后一个关键球位置等于 n球在所有关键球后面的个数n-\text{球在所有关键球后面的个数}

先不考虑球的标号,假设现在已经选出所有关键球,现在就等于有 k+1k+1 个抽屉,等概率放球,所以在所有关键球后面的概率是 1k+1\frac{1}{k+1} ,那么在所有关键球后面球的期望是 nkk+1\frac{n-k}{k+1} ,那么最后一个关键球位置期望就是 nnkk+1=(n+1)kk+1n-\frac{n-k}{k+1}=\frac{(n+1)k}{k+1}

所以答案乘上 n!n! 就对了

P3750 [六省联考 2017] 分手是祝愿

有一半的分是 k=nk=n 😍

首先先想一个贪心看看怎么做

从后往前考虑,如果他的倍数有奇数个要操作那么就为 11 ,否则为 00

不难发现一定是优的

想到这个 100100 分就很简单了

fif_i 表示还需要操作 ii 个灯,这时我想减去一个灯的期望次数,转移方程显然 fi=1+(ni)×(fi+1+fi)f_i=1+(n-i)\times(f_{i+1}+f_i) ,就是如果我这次操作没有成功会多一个灯需要操作,然后从 i+1i+1 个操作到 i1i-1 ,然后化简一下柿子就好了

P4284 [SHOI2014] 概率充电器

不会做👈🤣

首先发现期望根本没用,求概率就可以了。

思考一个点怎么着会被充上电,一种是自己直接充上,还有就是从上面充上电或者从下面充上电

发现是一颗树,所以从下面充上电很好做,自己直接冲上也是很简单的,现在就考虑怎么算从上面来的就好了

假设我现在在点 uu 并且已经算好了,我现在要贡献到子节点 vv 这一个操作,现在我对 vv 的贡献是这个点充上电的概率 - 只从 vv 上来 uu 充上电的概率,然后就推一下柿子

(u,v)(u,v) 出现概率为 AAvv 充上电概率为 BBxx 为不算 vv 的充电概率, yy 为算 vv 的充电概率

有柿子:

y=(1x)AB+xy=(1-x)AB+x

y=AB+xxABy=AB+x-xAB

y=AB+x(1AB)y=AB+x(1-AB)

x=yAB1ABx=\frac{y-AB}{1-AB}

yx=yyAB1ABy-x=y-\frac{y-AB}{1-AB}

乘上点系数就做完了

P3239 [HNOI2015]亚瑟王

我就是亚瑟王!😎😎😎

一开始我设的是 fi,jf_{i,j} 表示考虑在第 jj 轮,我现在考虑到了第 ii 个并且选他的概率,但是不对 😔

正确的是设 fi,jf_{i,j} 表示 rr 轮一块考虑,现在考虑到第 ii 个数,有 jj 轮已经选数的方案数

那么我不选数的概率是 (1pi)mj(1-p_i)^{m-j} ,选的就是 1(1pi)mj1-(1-p_i)^{m-j}

但是好像不会统计答案,发现我转移时的东西就是选的概率,所以在转移的时候统计就可以了

pjudge 21743 青鱼和怪兽

🐟🐟🐟

fi,jf_{i,j} 表示玩家还有 ii 点血量,👾还有 jj 点血量时获胜的期望时间

转移方程:fi,j=min(fn,m,1+p×fi,j1+(1p)×fi1,j)f_{i,j}=\min(f_{n,m},1+p\times f_{i,j-1}+(1-p)\times f_{i-1,j})

发现这有个取 min\min ,根本不会做,我也不能实数枚举 😔,但是发现每次都是对一个数和 fn,mf_{n,m}min\min ,仔细思考 🤔 发现 fn,mf_{n,m} 是具有单调性的,可以二分 🤩🤩🤩

具体来说,假设现在二分的 fn,mf_{n,m}xx ,如果按 xx 算出来的 fn,mf_{n,m}xx 小说明你 xx 设大了,缩小,否则增大

#6513. 「雅礼集训 2018 Day10」足球大战

⚽⚽⚽

发现这玩意能直接算

主队在 nn 秒内进 mm 个球的概率是 (nm)×pm×(1p)nm{n\choose m}\times p^m\times (1-p)^{n-m} ,客队换成 qq 就行了

现在想主队赢,那么概率就是 i=1n((ni)×pi×(1p)ni×(j=0i1(nj)×qj×(1q)nj))\sum\limits_{i=1}^{n}({n\choose i}\times p^i\times (1-p)^{n-i}\times (\sum\limits_{j=0}^{i-1}{n\choose j}\times q^j\times (1-q)^{n-j}))

枚举主队进球数,对客队进球数那个 \sum 做一个前缀和就好了

注意 nn1e71e7 级别的,不能快速幂,要预处理次方

#6495. 「雅礼集训 2018 Day1」树

倒悬的splay (有端暗示

有一个经典技巧,发现不会期望,可以将答案按某些性质划分为一些类,然后对于每类计数

fi,jf_{i,j} 表示现在树上有 ii 个点,最大深度为 jj 的方案数,考虑现在加入第 i+1i+1 个点怎么做

然后不会做👈🤣

🤔 一下发现好像就是不能转移,但是发现根节点性质很好,所以考虑加入的是根节点

发现 22 号节点一定是连向 11 号节点的,所以按这玩意分类

没有子节点:这就是初始化的值

有子节点:枚举 22 号节点子树大小以及深度,然后枚举剩下的子树加上根节点组成的树的节点数和深度,拼一块就好了

注意转移顺序

所以这玩意是 O(n4)O(n^4)

CF1187F Expected Square Beauty

推柿子

首先求一下 E(B(x))E(B(x)) ,这玩意非常简单,就等于 1+i=2n[xi1xi]1+\sum\limits_{i=2}^{n}[x_{i-1}\not=x_i]

然后平方一下: E(B(x)2)=E((1+i=2n[xi1xi])×(1+i=2n[xi1xi]))E(B(x)^2)=E((1+\sum\limits_{i=2}^{n}[x_{i-1}\not=x_i])\times (1+\sum\limits_{i=2}^{n}[x_{i-1}\not=x_i]))

化简:

E(B(x)2)=E(1+2i=2n[xi1xi]+i=2n[xi1xi]j=2n[xj1xj]E(B(x)^2)=E(1+2\sum\limits_{i=2}^{n}[x_{i-1}\not=x_i]+\sum\limits_{i=2}^{n}[x_{i-1}\not=x_i]\sum\limits_{j=2}^{n}[x_{j-1}\not=x_j]

发现第 ii[xixi1][x_i\not=x_{i-1}] 之和第 i1,i,i+1i-1,i,i+1 有关,把这些拿出来单独做,剩下的直接乘就好了

[AGC006C] Rabbit Exercise

这个性质我在初三考 NOIP 的时候场上想出来了,但是高一做这道题的时候没想出来 👈🤣

ii 只兔子跳完位置的期望是 2×ai1ai+2×ai+1ai2=ai+1+ai1\frac{2\times a_{i-1}-a_i+2\times a_{i+1}-a_i}{2}=a_{i+1}+a_{i-1}

这玩意不就是 NOIP2021NOIP2021 方差嘛!那就差分一下,然后现在第 ii 只兔子跳等于 swap(ai,ai+1)swap(a_i,a_{i+1})

然后这个万一就可以倍增了/hanx

#2325. 「清华集训 2017」小 Y 和恐怖的奴隶主

首先先列出 dpdpfi,a,b,cf_{i,a,b,c} 表示进行了 ii 轮,有 aa11 滴血的👾,有 bb22 滴血的👾,有 cc33 滴血的👾的期望,转移很简单,但是有点长,不想写了开摆,答案就是打怪兽时转移转移的概率

每一层的转移都是一样的,并且发现状态数不是很多,考虑用矩阵优化 dpdp ,现在时间复杂度是 Tstate3lognTstate^3\log n 这个有点大,过不去,但是因为矩阵乘向量是 O(n2)O(n^2) ,可以预处理出所有 2i2^i 的矩阵,直接拼起来求答案,时间复杂度 O(state3logn+Tstate2logn)O(state^3\log n+Tstate^2\log n)

实测 statestate 大小是 165165 ,加上一个答案就是 166166

gym102978 H. Harsh Comments

CF643E Bear and Destroying Subtrees

无语了 👈🤣

首先考虑 O(n2)O(n^2)dpdp 怎么做

fu,jf_{u,j} 表示以节点 uu 为根节点,树深度为 jj 的概率,但是发现这样转移要搞一个前缀和,不如直接把状态改为:以节点 uu 为根节点,树深度小于等于 jj 的概率,转移就很简单了 fu,j=v(u,v)E(fv,j12+12)f_{u,j}=\prod\limits_{v}^{(u,v)\in E} (\frac{f_{v,j-1}}{2}+\frac{1}{2})

然后考虑优化,现在这个题牛逼的地方就来了,发现如果深度太深的话概率太小,不用计算,深度直接算到五六十就行了 😮

CF908D New Year and Arbitrary Arrangement

CF1067D Computer Game

[AGC020F] Arcs on a Circle

CF98E Help Shrek and Donkey

瞎猜消元部分 ( Guess elimination\text{Guess elimination} )

CF24D Broken robot

考虑对于每一行分开高斯消元

THUSC2022THUSC2022 解法

P3232 [HNOI2013]游走

随机游走板子

[PKUSC2022] D1T1 Rating

坚定学校自信

#1817. 【2017.3 长乐省选集训 Day18 T3】子串

建出字符集的 ACAC 自动机,然后根据他所说的列方程高斯消元就好了

#1472. 【2022.7.11】旅行 travel

首先每个点的权值很好算,搞树上差分就好了

然后是最简单的 O(n2) dpO(n^2)\ dp ,设 fif_i 表示一次方期望, gig_i 表示二次方期望做,发现只有根节点是对的,所以做 nn 遍就好了

考虑用换根优化,假设算出 uu 的贡献,现在要换到 vv ,现在 uuvv 的贡献就是 uu 的贡献刨去子树 vv 乘上边权,发现好像合并上去了就不好刨出来了,所以在 dpdp 记一个前后缀 f,gf,g 值,这样就能刨出去了

#1454. 【NOIP模拟(第二套)】B. 数连通块

两种方法:

第一种就是直接干,树上莫队求区间权值和

第二种是把一条边的权值离散到 (ui,vi)(u_i,v_i) 上二位数点

南校 期望 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

您是神/bx,我是shabby/kk


期望
http://lnyxqwq.github.io/2023/08/15/期望/
作者
lnyx
发布于
2023年8月15日
许可协议