一些概念

随机变量:有多种可能取值的变量。

事件发生的概率。

:随机变量的期望值,

独立事件:两个事件互不影响,满足
证明:

期望的线性性:对于任意两个随机变量
证明:

前缀和技巧:对于离散变量(取值只有整数)x,

A

有 n 个随机变量,每个随机变量量都是从中随机一个整数,求的期望。

,则我们要求的是。根据期望的定义式得到

我们使用前缀和技巧,得到。然后我们推一波式子,你发现等价于,那么就可以得到

于是得到

B

证明:概率为的事件期望次发生。

设随机变量表示这个事件在第次发生。于是我们需要求。套公式得到

于是问题转化为我们要求,它表示这个事件在第次及以后发生。显然它在前次都未发生过,概率为。因此得到

根据小 Trick 得到

事实上,对于求期望,可以将其转化为求概率的和:

C 拿球

C1

箱子里有个球,你要从里面拿次球,拿了后放回,求取出的数字之和的期望。

这题是一个标准的一眼题。每次取的期望是一样的,所以很容易得到答案为。但我们还是严谨地做一下。

设随机变量表示第 i 次取出来的值。那么数字之和的期望即为

根据期望的定义得到

于是我们要求的概率。显然不论取何值,概率都是相等的,为,因此得到

于是答案即为

C2

箱子里有个球,你要从里面拿次球,拿了后不放回,求取出的数字之和的期望。

我们设随机变量表示

设答案为,得到,于是我们要求

展开得到

显然表示被取出的概率。而拿球后不放回,相当于在 n 个球中取 m 个,因此概率为,于是得到

C3

箱子里有个球,你要从里面拿次球,拿了后以的概率放回,的概率放回两个和这个相同的球(相当于增加一个球),求取出的数字之和的期望。

我们仍然设一个随机变量,它表示被拿出来的次数乘,即对答案的贡献。形式化地,我们设表示被拿了几次,那么。假设数字之和为,那么

然后我们考虑求。首先我们知道,每一个球是平等的,意味着概率是均等的,意味着它们被拿出来的次数的期望是一样的,即。而我们知道,他们被拿出来的次数的和是(因为你只拿了个球出来),而,即

因此得到,带回上式得到

D 游走

D1

在一条个点的链上游走,求从一端走到另一端的期望步数。

假设步数是,求的期望。我们定义一个随机变量表示从出发随机游走,第一次到的步数。

我们手推一下期望的式子,发现

就可以递推做了。但算出来就会发现,

D2

在一个个点的完全图上游走,求从一个点走到另一个点的期望步数。

设期望步数为,得到

解得

D3

在一个个点的完全二分图上游走,求从一个点走到另一个点的期望步数。

表示异侧点的期望,表示同侧点的期望。

D4

在一个个点的菊花图上游走,求从一个点走到另一个点的期望步数。

类似的方法。

D5

在一棵个点的树上游走,求从根走到的期望步数。

对每条边记录从走到的期望步数。表示的儿子数(有根树)

怎么算这个式子?把当作的父节点,那么一定是的子节点。这就是一个树形 DP。算完到 root 后再从根到子节点算一下向下走的边的期望。这题本来可以直接表示从走到的父节点的期望步数来 DP,但上述方法更可拓展(多组询问)。

D6

构造一张 200 个点的无向图, 使得上面从 S 走到 T 的随机游走期望步数大于等于 1000000 步。

我们构造一个个点的团,以及一个 100 个点的链,考虑他们的连接点,则沿着链走一步的期望步数为

而我们知道在链上走的期望,于是得到走到终点的总期望为

可以达到要求。

E 经典题

E1

每次随机一个的整数, 问期望几次能凑齐所有数。

表示凑齐了个数,期望几次凑齐所有数。

有一个有趣的问题,就是这个问题的答案为什么不是每个数第一次被凑出的时间的和的期望?如果这样算那么。但事实上凑出的时间相当于次数的前缀和,因此是不对的。

E2

随机一个长度为个排列,求是最大的数的概率。

其实这题很简单。由于每个数是均等的,因此他们成为最大值的概率也是一样的,于是答案为

E3-1

随机一个长度为个排列,求是最大的数的个数(即前缀最大值的个数)的期望。

设随机变量

则可以得到

E3-2

随机一个长度为个排列,求是最大的数的个数(即前缀最大值的个数)的平方的期望。

首先要明确一点,就是平方的期望不等于期望的平方,即,因为是随机变量不是常量。

于是我们按套路出牌,设随机变量

于是我们得到

由于,因此其实,于是我们需要求。仔细理解一下,其实这就是的概率!于是我们得到

接下来考虑,在此之前我们思考一下的取值,有

那么一个有趣的问题是,两个事件是否相关?

答案是,他们不相关!不管他们是在何种情况下同时发生,要么 i<j 要么 i>j,其中一个总是覆盖另一个的范围,即比另一个的所有数都大,因此不会受到另一个的选择的影响。于是我们得到

综上,我们得到

E4

随机一个⻓度为的排列,求的后面的概率。

直观理解,是平等的,因此谁在前面的概率是相等的,答案即为

E5-1

随机一个⻓度为 n 的排列,求它包含作为子序列的概率。

对于一个排列,你把中的元素抽出来,那么这一定是一个的排列,而我们不关心其他的数的情况,因此概率显然为。一个有趣的问题是:根据之前的问题,后面的概率是,那这题的概率为什么不是?原因是你想在一个数的后面接一个数,但它不一定放得了。

E5-2

随机一个⻓度为 n 的排列,求它包含作为连续子序列的概率。

我们设一个随机变量,其中表示一个排列的情况,(相当于我们有个随机变量)

由于中出现连续的做为子序列只有种位置,因此我们设。现在我们想知道做为连续子序列的概率,相当于求的期望。而根据平等原则,每一种情况出现的概率是相等的,因此得到

E6

堆石头,第堆个数为。每次随机选一个石头然后把那一整堆都扔了,求第堆石头期望第几次被扔。

设随机变量表示第堆石头是第几个被拿走的,显然我们有

于是我们要求,根据期望的线性性转化为,由于艾弗森括号表达式是一个布尔表达式,因此这个期望等价于,于是得到

而根据 E4,我们稍作拓展,其实表示的就是第堆石子被拿走的概率。因此表示的就是第堆石子比第堆石子先被拿走的概率,显然为,于是得到

E7

随机一个长度为的 01 串,每个位置是的概率是,定义是每段连续的的⻓度的平方之和,求的期望。

表示中所有为的段的长度的平方之和,因此。再令表示中最后一段的长度。我们先求的转移式。考虑第位上的值。

于是我们考虑求,于是我们简单地把概率套到上面的转移式就能得到

E8

给一个序列,每次随机删除一个元素, 问在过程中相邻的概率。

直接组合计数一波,相当于考虑一个排列中相邻的概率。我们只用考虑他们中间的数,不用关心外面的数,于是得到

E9

给定一棵树,将他的边随机一个顺序后依次插入,求期望什什么时候连通。

那么我们只需要考虑在插入边的序列中,路径上出现时间最晚的边的位置(位置即时间)的期望。

假设路径长度为,总边数是,那么枚举最后一条边的位置,那么首先我们考虑剩下条边的选法,然后是这条边的顺序,然后是剩下的条边的顺序(总共条边),最后除以全排列即可。

E10

个数,每次随机选择一个还在的数,删掉他的所有约数。求期望几次删完。

直接做的话,每一次删掉的数的个数不方便统计,不妨换一下思路。我们考虑这个问题:
个数,初始时每个数都是白的。每次随机选择一个还在的数,如果它是黑的就删掉它,否则就把它的约数标黑再删掉它。求期望删掉几个白色的数。

仔细思考可以发现,这个问题与原问题是等价的。原因是删除黑色的点不影响白色点被选到的概率。这样转化的好处在于,我们每次只会删掉一个数。于是我们可以定义随机变量表示

(注意,这里的第个数是指删到第个数时这个数的颜色)于是我们要求的是

根据这个随机变量的定义,,于是我们要求被删时是白色的概率。显然如果是白色,那么的所有倍数都没被删,且为白色。我们选到不是的倍数时,对的概率不影响,我们只需要考虑这个数中最先被选中的概率。显然为,于是得到

F 期望线性性练习题

F1

给定个硬币,第个硬币的价值为,每次随机取走一个硬币,获得的收益是左右两个硬币的价值的乘积,求期望总价值。

设随机变量表示

总价值为,于是得到,问题转化为求,显然就是这两个数相邻的概率,相当于是说中间的数都在他们前面被删完的概率,于是把这个数抽出来,那么排最后的概率就是。于是得到

F2

个数,每次等概率选出两个数,然后合并成一个新的数放回来,得到的收益是新的数的值,求总收益的期望。

我们设随机变量表示对答案的贡献次数,显然收益为。一波套路转化为求。要求期望的贡献次数,就是求期望的合并次数。每次合并都会减少一个数,而在个数中选两个数,选到包含的概率是,于是就可以统计每次合并的期望,得到

于是收益期望为

F3

给定一个数列,随机一个排列,如果都大,就获得的收益,求期望收益。

设随机变量

得到,一波套路转化为求,即相邻三个数中中间的数最大的概率。众生平等,答案为,如果在边上就为。于是计算一下答案即可。

F4

给出一棵树, 一开始每个点都是白的, 每次选一个白点将他子树里所有点染黑,求期望几次染黑整个树。

染黑相当于删除,问题转化为每个点在它到根的路径上的点集中最先被删的概率,答案为

总结

需要使用期望的性质解决的问题,通常都可以设出随机变量,并利用期望转概率、前缀和(容斥)、组合计数等技巧去解决。在解题的过程中也要灵活应用,重在理解题目的含义,发掘一些性质。