zoukankan      html  css  js  c++  java
  • 概率与期望DP

    @


    文章参考自算法导论、信息学奥赛之数学一本通,未完待续。

    常用公式

    重在理解,反正很多时候都用不上

    概率

    • 容斥性:对于任意两个事件\(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}$$
    剩下就是愉快的递推了,亦可求通项公式。
    过于简单,就不展示代码了。

  • 相关阅读:
    JavaScript table, grid, tree view or Gantt chart | TreeGrid
    Sign in
    DHtmlx Gantt
    Gantt Chart in JavaScript (HTML5) | FusionCharts
    无插件ExtJs4简单甘特图 / 蓝讯
    jsGantt(甘特图控件)
    FREE javascript gantt
    Python-Gantt
    JavaScript UI Library, Ajax Components & HTML5 Framework
    我的SPE甘特图
  • 原文地址:https://www.cnblogs.com/hzyhome/p/11658237.html
Copyright © 2011-2022 走看看