• 概率期望 学习笔记


    基础知识

    概率定义

    (P(A)) 为事件 (A) 发生的概率, (P(A|B)) 为在 (B) 事件发生的前提下 (A) 事件发生的概率。

    概率性质

    1. 加法公式:(A,B) 独立,则 (P(Aor B)=P(A)+P(B))。( (P(Aor B)) 就是 (A) 发生或者 (B) 发生)

      广义加法公式:(A,B) 任意,则 (P(Aor B)=P(A)+P(B)-P(Aand B))。( (P(Aand B)) 就是 (A) 发生且 (B) 发生)

    2. 乘法公式:

      (A,B) 独立(P(A*B)=P(A)*P(B))

      (A,B) 任意(P(A*B)=P(A)*P(B|A)=P(B)*P(A|B))

    3. 全概率公式、贝叶斯定理……(略)

    期望定义

    (E(A))

    期望性质

    1. (A) 是事件, (C) 是常数,则 (E(CA)=C*E(A))

      证明:

      (A) 的多个随机变量为 (Ca_1,Ca_2...Ca_n),对应出现的概率为 (p_1,p_2...p_n),则有:

      [E(CA)=sumlimits_{i=1}^n*(Ca_ip_i)=Csumlimits_{i=1}^n*(a_ip_i)=C*E(A) ]

    2. (A,B) 任意,则 (E(A+B)=E(A)+E(B))

    3. (A,B) 独立,则 (E(AB)=E(A)E(B))

    4. 期望等于所有的方案数的贡献除以方案数

    下面是一些经典问题。

    票券收集问题1

    题意

    链接

    (n) 种票券,每次等概率抽取一张票券,求抽到所有 (n) 种票券的抽取次数的期望。

    思路 1

    如果手上已经有 (i-1) 种票券,

    (large P(取一个票券为新票券)=frac{n-i+1}{n})

    (large E(取到新票券)=frac{1}{P(...)}=frac{n}{n-i+1})

    则总期望为 (largesumlimits_{i=1}^nfrac{n}{n-i+1}=sumlimits_{i=1}^nfrac{n}{i})

    思路 2

    期望 DP !!

    (f_i) 为取了 (i) 种票券后,还要取多少票券才能集齐的期望。

    显然 (f_n=0),考虑逆推

    考虑到抽到 (i) 种票券后再抽一个是新票券的概率是 (Large frac{n-i}{n}) ,旧票券概率是 (Large frac i n),则有方程 (Large f_i=frac{n-i}{n}f_{i+1}+frac i n f_i+1)。(加一是因为一定要投一次)。

    [frac{n-i}nf_i=frac{n-i}nf_{i+1}+1\ f_i=f_{i+1}+frac{n}{n-i}\ f_i=f_{i+2}+frac n {n-i-1}+frac n {n-i}\ ...\ f_0=sum frac{n}{n-i+1}=sum frac n i ]

    所以答案为 (Large sum frac n i)

    票券收集问题2

    题意

    链接

    (n) 种票券,每次等概率抽取一张票券,第 (k) 次抽彩需要 (k) 元钱,求抽到所有 (n) 种票券的抽取花费的期望。

    解法1

    接着“票券收集问题1”的 (f)(此时我们需要推出所有的 (f) ,用上边的递推式 (large f_i=f_{i+1}+frac{n}{n-i})),我们再设计设 (g_i) 为取了 (i) 种票券后,还要去多少花费才能集齐的期望。

    显然当我每抽一次彩,除了这一次抽彩花费的一元之外,我未来购买的票券都会贵一元,所以一共会多出 (f_i+1) 元。所以有:

    [g_i=frac{n-i}{n}(g_{i+1}+f_{i+1}+1)+frac{i}{n}(g_i+f_i+1) ]

    解法2

    如果我们买了 (x) 张票券,则总花费为 (large 1+2+...+x=frac{(x+1)x}{2}=frac{x^2+x}2)

    注意到只有 (x,x^2) 两个未知量,我们采用 OSU 的维护方法(参见下文经典题目 “OSU”)。

    维护 (c_i) 为取了 (i) 种票券后,还要取多少次的期望; (d_i) 为还要取多少次的平方的期望。

    [c_i=frac{i}{n}c_{i}+frac{n-i}{n}c_{i+1}\ d_i=frac{i}{n}(d_i+2c_i+1)+frac{i-1}{n}(d_{i+1}+2c_{i+1}+1) ]

    最后就是 (Large ans=frac{c_0+d_0}{2})

    走图1

    题意

    链接

    有边权无向图 (G),从 (1) 出发到 (n),在一个点会等概率选择一个出度并走去下一个点,求到 (n) 经过的边权和的期望。(保证从 (1) 能走到任何点,任何点都能走到 (n))。

    解法

    (f_i)(i o n) 的期望路径长。显然 (f_n=0)

    那么设 (i) 点出度为 (k),有 (f_i=frac1 k(sum f_v+w_E))

    然后拓扑或 dfs 决定更新顺序。

    走图2

    题意

    链接

    有无向图 (G),求随机选择一条路径走过的边数的期望。

    解法

    用期望性质4,设 (sum) 为所有路径长度总和,(cnt) 为路径个数。

    那对于每个点, (f_i) 为从 (i) 开始的所有路径长度总和,(g_i) 为从 (i) 开始的路径个数,有 (sum=sum f_i,cnt=sum g_i)

    (f_i=sum f_v+g_v) 本有总长为 (f_v) 的路径,每条路径都变长加一,一共有 (g_v) 条路径。

    (g_i=1+ sum g_v) 所有路径加上自己到自己这条路径。

    OSU

    题意

    平方立方

    一个长度为 (n) 的数列,每一位为 0 或 1,第 (i) 位为 1 的概率是 (p_i)。对于一段长度为 (l) 的、极长的、连续的 1,会贡献 (l^2) 的分数。求数列分数总和的期望。

    误区

    (x) 期望的平方不等于 (x) 平方的期望!

    比如 (x) 有一半概率等于 1,一半概率等于 2,则 (large E(x^2)=frac{1^2+2^2}{2}=2.5);但是 (large E^2(x)=(frac{1+2}{2})^2=2.25),这显然不可理喻、强词夺理、荒唐错乱、荒谬至极!

    理解 1

    (ans_i) 是以 (i) 为结尾的答案, (f_i) 是以 (i) 结尾的成功连击数的期望。

    [f_i=p_i(f_{i-1}+1)+(1-p_i)0=p_i(f_{i-1}+1)\ ]

    然后设所有的数列最终状态是集合 (S),每一种状态 (K) 都可以分成若干个极长的全 1 块,长度分别为 (r_1,r_2,...r_k),则有:

    [ans_i=sumlimits_{Kin S}p_K(r_1^2+r_2^2+...+r_t^2) ]

    其中 (p_K)(K) 这种状态出现的概率。

    同时我们也可以重新定义 (f_i),有 (f_i=sum p_Kr_t)

    所以可以推得:

    [egin{align} ans_{i+1}&=p_{i+1}sum p_K(r_1^2+r_2^2+...+(r_t+1)^2) +(1-p_{i+1})sum p_K(r_1^2+r_2^2+...+r_t^2)(如果i为0则r_t=0)\ &=sum p_K(r_1^2+r_2^2+...+r_t^2)+p_{i+1}sum p_K(2r_t+1)\ &=ans_i+p_{i+1}(2sum p_Kr_t+sum p_K)\ &=ans_i+p_{i+1}(2f_i+1) end{align} ]

    理解 2

    [(x+1)^2-x^2=x^2+2x+1-x^2=2x+1 ]

    相当于每一个 1 会发生 (2x+1) 的贡献。

    所以 (ans_{i+1}=ans_i+p_{i+1}(2f_i+1))

    下面是一些杂题。

    纯粹容器

    题意

    链接

    (n) 个物品排成一列,第 (i) 个物品强度为 (a_i)。每一秒会随机选择两个相邻的物品相撞,强度较小的那个会破碎,被移除队列(即原本不相邻的物品可能会现在相邻)。求每个物品存活时间的期望。

    $O(n^2) $ 解法

    (P(i=x)) 为某物品存活时间等于 (i) 的概率,则显然 (E=sumlimits_{i=1}^{n-1}iP(i=x))

    展开来就是

    [egin{align} E&=P(1=x)+2P(2=x)+3P(3=x)+...\ &=(P(1=x)+P(2=x)+P(3=x)+...)+(P(2=x)+P(3=x)+...)+(P(3=x)+...)+...\ &=P(1le x)+P(2le x)+P(3le x)+...\ &=sum_{i=1}^{n-1}P(ile x) end{align} ]

    重申 (large E=sum_limits{i=1}^{n-1}P(ile x))

    于是设 (pre) 为在物品 (x) 左边第一个强度比它大的物品, (nxt) 为在物品 (x) 右边第一个强度比它大的物品。则如果 (presim x) 一段物品或 (xsim nxt) 一段物品全部被打碎,则这个物品就碎了。

    (P(A))(presim x) 全部破碎的概率, (P(B))(xsim nxt) 全部破碎的概率。则 (P(Aand B))(presim nxt) 全部破碎的概率。

    (P(ige x)=P(A)+P(B)-P(Aand B))

    (P(ile x)=1-P(A)-P(B)+P(Aand B)) 然后推推柿子就好了。

    (O(n)) 解法

    大佬解法,不会。

  • 相关阅读:
    SQL 里面的COALESCE函数
    php SESSION 不能跨页面传递
    eclipse[日文版] 的SVN 上传步骤
    从一个SVN下载的导入另一个SVN里面
    VB 活动添加item元素
    分享8款精美的jQuery图片播放插件
    java初学者必看经典
    (转载)Java NIO:NIO原理分析(二)
    (转载)Java NIO:NIO概述(一)
    磁盘格式化
  • 原文地址:https://www.cnblogs.com/BlankAo/p/15032430.html
Copyright © 2020-2023  润新知