Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js

【专题】概率期望乱写

概率与期望DP

绿豆蛙的归宿

DAG上求起点到重点的期望路径长度

F[i]F[i] 表示从iinn的期望步数

显然F[n]F[n]为零,转移则为

F[i]=son(j)(F[j]+disi,j)/DEG[i]F[i]=son(j)(F[j]+disi,j)/DEG[i]

在DAG上做拓扑排序进行转移即可

较为水


聪聪和可可

老鼠的走法就是随机走一个点或者停留

考虑猫的走法,当鼠猫距离大于二时,猫这一轮一定会走两步,否则这一轮就结束了,猫的走法比较梦幻,所以考虑NNdijdij,再n2n2预处理出来当猫在AA老鼠在BB时猫的下一步去哪,时间可以承受

F[i][j]F[i][j]表示当猫在ii老鼠在jj时的期望值,因为终止状态有很多,而起点只有一个,发现并不好转移,直接记忆化搜索一发

注意判断特判已经在同一个点的情况


Easy || OSU!

题意基本相同
记录到ii次点击连续o的长度期望,分类讨论本次是否comb转移即可

OSU中则是需要分别考虑二次和三次的贡献,分别拿两个数组记录,同样讨论本次是否comb转移


Red is good

F[i][j]F[i][j]为当前有ii张红牌jj张黑牌的期望

当前轮怎么拿牌

显然对于状态F[i][0]F[i][0],我一路拿下去肯定最优,直接就是F[i][0]=iF[i][0]=i

同样的状态F[0][j]=0F[0][j]=0,怎么拿都亏就一张都不拿

对于F[i][j],我们考虑这一轮拿到了什么牌

若拿到红牌,则转移到F[i1][j]F[i1][j],转移到这一状态的概率为ii+jii+j

若拿到黑牌,则转移到F[i][j1]F[i][j1],转移到这一状态的概率为ji+jji+j

那么就有

F[i][j]=F[i1][j]ii+j+F[i][j1]ji+jF[i][j]=F[i1][j]ii+j+F[i][j1]ji+j

但是题目要求最大值,那么在拿牌过程中,如果我发现我会亏,那我就索性前边的都不要了,从头拿起.即认为前面的牌期望值为0,就相当于F[0][0]

然后我们快乐的发现可以DP了

快乐的发现A了


守卫者的挑战

F[i][j][k]F[i][j][k]为当前进行到的场数,之前赢的场数,和当前背包剩余容量分别为i,j,ki,j,k的成功概率

我觉得并不好转移就记搜了
当当前场数为n+1n+1时判一下赢场数和剩余容量是否符合要求即可


单选错位

我们发现第ii道题有没有贡献只和它与第i1i1道题的答案是否相同有关,我们只需要相同发生的概率并求和即可,假期望,需要特殊处理一下11nn


列队春游

我们单独考虑每个人的贡献,设当前考虑的人为AA
对于除他以外的人,发现所有不比他低的人一定不能对他作出贡献(我们认为一定有的贡献1是他自己对自己作出的)

那么AA产生的贡献实际上就是 AA

设队列中一共有m个人的身高 ≥ A 的身高(包括A)

那么这m个人无论如何排列都不会对A产生贡献

我们再去考虑剩下的nm个人对A的贡献,设人数为s

若单独考虑每个人的贡献,因为实际上每个人只能对A贡献一个单位长度,当这个能对A产生贡献时,无论其他的人如何排列,都不会影响他对A产生的贡献,那么我们就考虑这个人什么时候对A产生贡献

先排那m个人,共有m!种方案,这时我们先将s中的一个人与A绑定,视为一个人,参与这m个人的排列,此时我们保证了这个人一定对A造成贡献,其他情况一定不会造成贡献

再考虑剩下的s1个人,他们此时不管如何站,都不会再对刚才绑定的那个人的贡献造成任何影响,有As1n种站法

至此我们找出了这个人所有可能对A作出贡献的方案,实际上所有比A低的人贡献都是如此

那么A的贡献就是

(m!As1n/n!)s+1==s/(ns+1)+1

扫一遍求和即可


矩形粉刷

我们发现K次粉刷间是有前后影响的,即同一个点可能被粉刷多次但是只贡献一次(虽然我开始并没有考虑这个,然后就发现没法处理了)

那么我们单独考虑每个格子的贡献,某个格子有贡献,即其至少被粉刷到了一次,我们发现这玩意并不好算,实际上格子是否被刷是对立事件,那么有

K+K=1

那么我们求出K次都不被粉刷的概率就好了,这个显然更好求,即为

()k

再考虑这个格子怎么样不会被粉刷到

某次粉刷到的两个格子都在 上上/下下/左左/右右

但是我们发现 /// 的概率被算了两次,那么简单容斥一下,减去重复的即可,格子间是没有相互影响的.

最后用1减去求出的概率即为该格子的贡献,概率值即为期望


卡牌游戏

留坑以后写


换教室

实际上就是大分类讨论,我们首先需要预处理出来教室两两间的最短距离,跑一遍Floyd哦了

发现前面申请成功的概率会对后面算期望造成影响,且需要限制申请次数

那么设F[i][j][0/1]表示当前到第几节课,之前已经申请了多少次,本节课是否申请了的期望值

分类讨论当前是否申请,上一次是否申请了(注意j)
同时需要讨论这次申请是不是成功了,以及上一次是否成功了(如果申请),因为成功与不成功的距离是不同的,而且申请是有成功概率的,我们不能默认某一次申请成功

可能说不太明白,可以举例说明但是分类讨论过程太ex了,下次吧(bushi


奖励关

状压一下

f[i][j]为在第i回合达到拥有的宝物状态为j的期望分值

我们考虑当前状态中每一位1是第一次出现,还是已经出现过(需要注意回合数的限制)
分类讨论即可

好的我们发现这个做法是假的

惊不惊喜,意不意外

这样的转移可能会出现,我们需要的上一阶段的状态可能根本是不可达的,因为有宝物先后关系,那么我们考虑逆推,即从一定可达的状态推到之前的状态

F[i][j]表示当前i1轮所拿到的宝物状态为j时,第i轮到第k轮能获得的最大期望值

那么我们分别考虑第i轮会抛出哪个物品,即每次转移都遍历所有物品,若其满足要求,那么有转移式

F[i][j]+=max(F[i+1][j],F[i+1][j|bit]+Pbit),bit=1<<(1)

即表示当前 /

若不满足要求则直接继承f[i+1][j]即可,当前阶段选不到,下一个阶段也一定选不到

最后答案即为F[1][0]


概率充电器

一开始没看数据范围以为高消一发就能过,这不嘎嘎切么

既然高斯消元不行,那么我们就树形DP(题目都明示了)

考虑每个原件是如何来电的

他自己来电了 / 他儿子来电了并且通过来了 / 他爹来电了并且通过来了

原件通电的概率是三个事件至少发生一个的概率

那么就不能直接相加,虽然我第一遍交就是直接相加的,还对了几个点

有 事件A,B至少发生一件的概率为

P(AUB)=P(A)+P(B)P(A)P(B)

其实就是简单容斥

d[i]为只考虑儿子传导即自己来电时的概率
f[i]为所有情况的概率

第一遍DFS先求出d数组,把自己的概率以及每个儿子的概率以此用上边的式子算就行

第二遍DFS考虑加上父亲传导后的概率,显然树根的f和d相同

i点时,将他父亲的f除去i贡献的部分,再将其视为i的儿子贡献给i即可

注意判断某个原件的概率是不是超过$1$了,当然如果某个点的$d$已经是$1$了,那么就没必要算了,直接赋$1$接着向下搜即可

硬币游戏

自己想不出来系列

我们发现这个游戏可能是无穷无尽的,所以状态设定中一定不能包含他在什么位置赢的

那么我们某个人在什么情况下会赢.

假设当前的一个未终止局面为S,显然S完全包含任何一个人的序列.
我们考虑两个人的情况,假设有A=101,B=110

如果局面进行成S+A那么此时A一定胜出了,但是可能存在一种情况,也就是局面朝S+A方向进行时,中间出现了形如S+B的情况(我们定义S类都是未终止局面),也就是说,在A胜出之前,已经有B胜出,提前终止了.

设出现未终止局面的概率为P0,如果不考虑提前终止的情况,那么PA=12mP0,实际上这样的话,每个人胜出的概率都如此.

那么现在考虑如何把提前终止的概率删去,我们发现两两终止状态之间无包含关系,或者可以理解为对立事件,那么说我们在总概率中减去提前终止的那部分概率,就是我们希望的终止局面的概率.

就考虑提前终止的情况,显然是A的前一部分和另外某个人的串恰好接上了,字符串意义上就是A的一段前缀与某个人的一段后缀相匹配,若有长度为k的串满足,那么提前结束的概率就是(mk)

这样我们就有n个方程组,n+1个为止数,what hell?

然后我们就死在了寻找最后一个方程的路上

实际上,当这个游戏无穷尽的进行下去后,一定会有一个人胜出,或者说所有人的胜率和无限趋近于1

那么我们就得到最后一个方程了,ni=1Pi=1

快乐敲一个高消板子欧了

码完之前不看
如果你码完又交了一发发现只有40分
而且后面的点全是零
~~去把这句话注释掉~~
`if(fabs[i][i]<eps)continue`

然后你就A了
为什么?
布吉岛(bushi
我们发现某些系数可能很,
小到12300,
好了你把所有的都continue了,
所以不能特判

那真的有0怎么办


posted @   Delov  阅读(113)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?
点击右上角即可分享
微信分享提示