期望DP
概述
1.数学期望
(1)概念
如果X是在概率空间 ( Ω , F , P ) (Ω, F, P) (Ω,F,P)中的随机变量,那么它的期望值 E [ X ] E[X] E[X]的定义是:
e x p e c t a t i o n expectation expectation
也就是试验中每次可能的结果乘以其结果概率的总和。
换句话说,期望等于每个数出现的概率乘以每个数的值
(2)性质
-
线性 l i n e a r linear linear
-
期望具有线性关系: E ( a x 1 + b x 2 + . . . ) = a E ( x 1 ) + b E ( x 2 ) + . . . E(ax1+bx2+...)=aE(x1)+bE(x2)+... E(ax1+bx2+...)=aE(x1)+bE(x2)+...
-
在一般情况下,两个随机变量的积的期望值不等于这两个随机变量的期望值的积。
-
当 E [ X Y ] = E [ x ] E [ y ] E[XY]=E[x]E[y] E[XY]=E[x]E[y]成立时,随机变量 X X X和 Y Y Y的协方差为 0 0 0,又称它们不相关。特别的,当两个随机变量独立时,它们协方差(若存在)为 0 0 0。
-
也就是说,当X,Y,相对独立,则有:
-
期望值也可以通过方差计算公式来计算方差
其中 V a r ( X ) Var(X) Var(X)指的是方差
-
C是常数
2.全期望公式
所以
根据已经求出的期望推出其他状态的期望,也可以根据一些特点和结果相同的情况,求出其概率。
这就引出了我们的期望dp
3.期望dp
对于一些比较难找到递推关系的数学期望问题,可以利用期望的定义式,根据实际情况以概率或者方案数(也就是概率*总方案数)作为一种状态,而下标直接或间接对应了这个概率下的变量值,将问题变成比较一般的统计方案数问题或者利用全概率公式计算概率的递推问题
一般来说,概率DP找到正确的状态定义后,转移是比较容易想到的。但状态一定是“可数”的,把有范围的整数作为数组下标。事实上,将问题直接作为状态是最好的。如问“n人做X事的期望次数”,则设计状态为f[i]表示i个人做完事的期望。转移一般是递推,即从上一个状态转移得(填表)或转移向下一个状态(刷表)。
有时期望DP需以最终状态为初始状态转移,即逆推。如f[i]表示期望还要走f[i]步到达终点。这种状态的转移是刷表法,形如 f [ i ] = ∑ p [ i → j ] f [ j ] + w [ i → j ] f[i]=∑p[i→j]f[j]+w[i→j] f[i]=∑p[i→j]f[j]+w[i→j],其中p[ ]表示转移的概率,w[ ]表示转移对答案的贡献。一般来说,初始状态确定时可用顺推,终止状态确定时可用逆推。
规律
1.期望可以分解成多个子期望的加权和,权为子期望发生的概率,即
E ( a A + b B + … ) = a E ( A ) + b E ( B ) + … + 1 E(aA+bB+…) = aE(A) + bE(B) +…+1 E(aA+bB+…)=aE(A)+bE(B)+…+1;
2.期望从后往前找,一般 d p [ n ] = 0 , d p [ 0 ] dp[n]=0,dp[0] dp[n]=0,dp[0]是答案;
3.解决过程,找出各种情况乘上这种情况发生的概率,求和;
4.概率DP一定要初始化!
转移方程
几种常见设转移方程数组的方法
- 设 f [ i ] f[i]