@
文章参考自算法导论、信息学奥赛之数学一本通,未完待续。
常用公式
重在理解,反正很多时候都用不上
概率
- 容斥性:对于任意两个事件\(A\)和\(B\),都有$$P(A∪B)=P(A)+P(B)-P(A∩B)$$
- 贝叶斯公式:$$P(A|B)=\frac{P(B|A)P(A)}{P(B)}$$
- 全概率公式
\[P(A)=\sum_{i}^{n}{P(B_i)P(A|B_i)}
\]
期望
- 离散型随机变量\(X\)的期望\(E[x]\) 的定义:
设离散随机变量\(X\) 的可能值是\(X_1, X_2 ... X_k\),\(P[X_1]; P[X_2]...P[X_k]\) 为\(X\) 取对
应值的概率。则X 的期望为:
\[E[X]=\sum_{i}^{k}{X_i P[X_i]}
\]
- 期望的线性性质:
任意随机变量X和Y,常量a和b,有:$$E[aX+bY]=aE[X]+bE[Y]$$
当两个随机变量X和Y独立且各自都有一个已定义的期望时,有:$$E[XY]=E[X]E[Y]$$ - 全期望公式 :
\[E[Y]=E[E(Y|X)]=\sum_{i}{P(X= x_i) E(Y | X =x_i)}
\]
其中,\(E[Y|X=x_i]\)表示当\(X=x_i\)时,随机变量Y的条件期望。
例题(持续更新)
一个n面的骰子,求期望掷几次能使得每一面都被掷到。
最基本的期望DP题目
令\(f_i\)表示已经掷了\(i\)面,剩下还需掷的次数的期望值
显然\(f_n=0\),而\(f_0\)是我们需要的答案
分析:
我们每次掷骰子,对于每一面,我们掷到它的概率均为\(\frac{1}{n}\)。
那么当我们已经掷到了不同的\(i\)面后,掷出新的一面的概率为\(\frac{n-i}{n}\),旧的一面的概率为\(\frac{i}{n}\)。
因此,\(f_i\)由两部分的贡献组成,一部分是成功了,由\(f_{i+1}\)带来;另一部分是失败,由\(f_i\)带来;
还要加上\(1\),这是掷一次的必然代价。
因此可以写出最初的等式:$$f_i=f_i\frac{i}{n}+f_{i+1}\frac{n-i}{n}+1$$
也可以写成:$$f_i=(f_i+1)\frac{i}{n}+(f_{i+1}+1)\frac{n-i}{n}$$
化简可得:$$f_i=f_{i+1}+\frac{n}{n-i}$$
剩下就是愉快的递推了,亦可求通项公式。
过于简单,就不展示代码了。