概率期望习题总结
文章目录
Topcoder12984 TorusSailing
考虑矩阵的最后一行和最右一列,我们把所有方格的期望表示为这个变量的方程。
然后考虑矩阵的第一行和最左一列,发现可以联立这些方程与最后一行、最右一列的方程。
这样就可以高斯消元了。消完了再带回去即可求出期望。
时间复杂度。
HDU4035 Maze
设表示结点的期望,那么
我们尝试将表示成的形式,其中是的父节点。首先设
那么把上式化简可以得到
对于根结点的情况:
实现的时候注意判无解即可。注意,本题精度要开到。
SHOI2017 分手是祝愿
考虑按灯泡的最优策略。我们显然是先找到最大的 1 把它变成 0,然后再找最大的 1 变成 0……
因此设表示把一个最优按次能全 0 的局面变成按次能全 0 的局面的期望步数。显然,当时你会选最优,即;否则,你有的概率按到一个应该按的灯,剩余的概率则会转移到。因此得到
边界情况。是因为你不论按哪个,都能按到你应该按的那个灯。
于是我们先求出初始局面在最优情况下需要按的次数,假设为。那么答案为
时间复杂度或。
歌唱王国
有个字符集是的长度分明为的字符串(模式串)。有次询问,第次询问为:生成一个字符串,每次随机在末尾添加一个字符,一旦中出现了就停止生成。求长度的期望。
。
概率生成函数
固定。
第一部分
设表示长度为时恰好结束的概率,表示长度为时没有结束的概率。
显然,对于,有。
严谨定义补充
严谨地说,表示随机生成长度为的串,仅做为后缀出现且仅出现一次的概率。
而表示随机生成长度为的串,未出现的概率。
首先根据定义有。即在的长度还没有结束,那么可能会在或者大于的长度结束。
特殊地,当时,。
对于串,我们记录表示与是否匹配(即是否是 border)。那么我在长度为的状态下直接加入这个串,显然一定会结束。但是,我们还可能会在长度小于的时候结束(即当我补完一个 border 的时候就结束了)。那么可以得到
解释一下上式的含义:
左边:随机生成长度为的串满足中没有且的概率。
右边:对求概率和:随机生成长度为的串满足恰好以结尾且的概率。
两者都等价于:在长度属于这个区间结束的概率。
整理一下得到。
第二部分
接下来我们用概率生成函数来改写上式。
概率生成函数
离散随机变量的概率生成函数为
该函数有两个重要的性质:
- ;
- 。
概率生成函数是普通生成函数的一种特殊情况(被赋予特殊的意义)。
设,。我们要求的就是。
于是我们可以把定义式改写为
对两边求导得到
因此。
另一种理解方式
对于离散变量,我们知道。
而可以理解为长度的概率。因此要求的期望等价于。
把改写为
注意,对于有,因此不会出现负指数项。令可以得到
因为,因此得到
这样就做完了。
硬币游戏
给出个长度为的互不相同的 01 串。现在生成一个字符串,每次在末尾随机加入一个字符。一旦中出现某个就停止。对每个求以结尾的概率。
。
概率生成函数 高斯消元 SDOI
设,其中表示长度为以结尾结束的概率。
设,其中表示长度为仍未结束的概率。
我们要求的是。
类似地,首先有一个显然的等式:
类似地,设表示与是否匹配。那么我们强行在当前状态下插入,可以得到
相当于你在插入的过程中,可能在中途就以结尾结束了。
根据第一个等式,取得到
第二个等式取得到
那么对于再加上上面那个式子,我们可以高斯消元求出答案了。
注:eps 要开到。
随机游走
给定一棵个结点的树,你从点出发,每次等概率随机选择一条与所在点相邻的边走过去。
有次询问,每次询问给定一个集合,求如果从出发一直随机游走,直到点集中所有点都至少经过一次,期望游走几步。
特别地,点(即起点)视为一开始就被经过了一次。
答案对取模。
FMT 容斥 min-max 容斥 PKUWC
首先考虑 min-max 容斥。
min-max 容斥
对于全序集合,有
设表示走到的时间的期望。那么我们要求的是,转化为求,即到达任意一个点的时间的期望。
这个可以用树上消元在的复杂度计算,答案就是根结点的期望。
最后容斥的时候可以使用 FMT,把容斥系数带进去即可。
总时间复杂度。
Circles of Waiting
主元法:对于一类消元问题,可以先将变量用一组主元表示,然后将这些变量的方程与主元联立求解,以降低复杂度。
对于这道题,我们可以把圆上左边界的点作为主元,具体来说是圆内每行 x 坐标最小的点。那么根据期望方程
我们可以得到的方程式。这样就可以从左边推到右边界。由于右边界之外的点期望是 0,就可以列出个方程。于是高斯消元即可。时间复杂度。
Graph Game
考虑一棵树的情况。如果在某个时刻我们删掉的时候仍与连通,那么就会产生 1 的贡献。我们考虑这件事发生的概率。容易发现概率是 A,B 路径长度的倒数(确切地说,这里的长度是指点数)。因此把所有有向路径长度的倒数求和就是答案。
如果是基环树,那么从 A 到 B 就可能会出现两条路径(即中间夹一个环)。那么有两条路径,如果我们直接把贡献算成两条路径长度倒数和的话,会多算贡献。那么减掉路径并的长度倒数即可。
证明见官题。
Bingo
权值是 2 的幂,相当于子集枚举,可以理解其组合意义为每行每列被选择包含的概率的和。因此得到
Slime and Biscuits
给出一个长度为的序列,设。每次有的概率选择,然后等概率选择中一个不等于的数,然后令减一,加一。当存在某个时停止操作。问期望时间。
。
概率 期望 消元
容易想到,设表示,在时结束的期望。答案就是。但是要注意,这不是普通意义上的期望。
普通意义的期望例如丢骰子,丢到的期望时间。那么你丢无限次,丢到的概率是无限趋近于的。也就是说不论哪个局面都可以通过继续丢骰子来丢出。
但是在题目中的游戏的条件下,一旦有某个使得,那么游戏就结束了。这种情况对的贡献显然是(因为不是在处结束的)。但是它的时间(随机变量)却不一定是。是在这个条件下我们强制它的贡献是,这个规则是不符合普通期望的定义的。
换言之,其实是一个不完全期望——它只包含所有合法情况的概率乘随机变量值(时间)的和(对于普通的期望,所有的情况最后一定可以导出合法情况)。
理解了这个,我们再重新审视本题。
直接计算是困难的,因为我们要求在游戏过程中不能存在某个使得。那么我们考虑减去不合法的情况。
设表示仅当时结束游戏时的期望时间。也就是说我们修改了游戏的规则。
这其中就有不合法的情况,比如先有出现,然后再把上的转移到上。
因此我们设表示在原来的游戏规则下,游戏在处结束的概率。显然有。
设表示在修改了游戏的规则的状态下,从转移到的期望时间。显然这对于所有的都是相等的。
那么我们把不合法的情况减掉,建立等式:
(是不用乘的,因为它计算的是不完全期望,概率已经算在里面了)
那么移项变换一下得到
这个是关于的等式。我们把所有关于的等式累加,得到
那么只要我们能求出和,就可以求出答案。
而在修改了游戏的规则的状态下,我们只关心的值。其他的值满了也没关系。因此设表示的值当前为,从变成的期望时间。那么
- 有的概率选中自己,那么就会变成;
- 否则有的概率选中别的数,那么:
- 有的概率选中自己,变成;
- 否则不变。
因此就得到了
解得
是可以直接求的。那么显然有。然后。
时间复杂度。
修订记录
- 2021年2月11日 第4次修订
- 2021年1月15日 第3次修订
- 2021年1月15日 第2次修订
- 2020年5月19日 创建文章