• [学习笔记] 期望


    咱也不知道笔记该怎么整,咱期望就只知道莽,知道线性性也⑧太知道怎么用。

    (1)、定义:

    什么“所有情况的概率加权平均值blabla”,一般用处不大?

    或者形式化一点,$ m E(X)=sum_i(~P(X=i)cdot i~) $

    e.g:Luogu3802 小魔女帕琪

    这东西我硬推推出来一个:

    [frac{left(egin{array}{c}{mathrm{S}-6} \ {1}end{array} ight) cdot 7 ! cdot prod_{mathrm{i}=1}^{7} mathrm{a}_{mathrm{i}} cdot(mathrm{S}-7) !}{mathrm{S} !} ]

    的东西。感觉还可以?然后其实就是一种思想?此时总方案数( m S)这东西不应该除以某些奇怪的阶乘,或者说,不需要,因为样本空间可以理解为先发生了(A)和发生了(B)虽然局面一样但是概率独立(大概

    e.g.:Luogu5489 [LnOI2019]脸滚键盘

    这题写过题解,现在复习一遍。大概就是考虑维护一个前缀和,构造数列

    [ m F_i=F_{i-1}cdot base_i+base_i ]

    然后我们发现它的级数很美妙:

    [old {sum_{i=1}^{n}F_i=base_1+base_2cdots+base_n+base_1base_2+base_2base_3cdots+prod_{i=1}^{n}base_i} ]

    正好就是我们要求的答案。

    但此时直接前缀和会有问题,因为多余的实际上是(a_0cdots a_n)那一堆项,所以需要像哈希一样左半边乘上(prod_{i=1}^{r}base_i+prod_{i=1}^{r-1}base_i+cdots +prod_{i=1}^{l}base_i)

    (2)、期望的线性性

    唔,这个地方其实应用是很广泛的。大概就是对于两个事件( m X,Y)( m E(X+Y)=E(X) +E(Y))

    对于这东西的证明大概如下:

    [egin{aligned} m E(X+Y) & {= m sum_{i} sum_{j} P(X=i & & Y=j)(i+j)} \ & { m =sum_{i} sum_{j} P(X=i & & Y=j) i+sum_{i} sum_{j} P(X=i & & Y=j) j} \ &{ m =sum_{i} i sum_{j} P(X=i & & Y=j) j+sum_{i} j sum_{j} P(X=i & & Y=j) i} \ & { m =sum_{i} P(X=i) i+sum_{j} P(Y=j) j} \ & { m =E(X)+E(Y)}end{aligned} ]

    (随便粘了个过来也⑧太知道对不对)

    e.g.:Luogu1297 [国家集训队]单选错位

    然后其实,( m E_S=E(1)+E(2)+E(3)cdots)

    观察(E(i)),实际上只与(base_i,base_{i+1})有关,那么每一项的贡献就是(frac{1}{max(base_i,base_{i+1})})。加起来就好。

    e.g.: Luogu3924 康娜的线段树

    显然我们可以知道维护的就是(sum_{i=1}^{n}frac{val_i}{depth_i}) 。这东西看上去并不是很好维护,但是我们可以考虑离线操作。

    考虑爆算出一开始的值,这一块想咋爆算咋爆算。

    之后每次修改实际上是在改一些通达叶子结点的链。我们单独考虑每一条这样的链,增加的答案实际上就是每条链的上每个点经过的概率。我们考虑把所有结果最后除以( m maxL),即深度最大值,那么我们需要维护的实际上变成了每个点乘上一个(2^{ m maxL-depth_i})这么一个权,一整条链深度从高到低正好是一组等比数列,所以就是(2^{ m maxL}-1)

    但是注意这个结论有瑕疵,因为并不是每个叶节点的深度都是( m maxh)。而这也比较好办,考虑对于每条链单独特判一下就好。

    (3)、诡异的期望模型

    3.1 容斥技巧

    • (n)个随机变量( m X[1…n]),每个随机变量都是从 ( m 1…S) 中 随机一个整数,求( m max(X[1…n]))的期望

    实际上可以转化成数学语言:

    [egin{aligned} m E& m =sum _{i=1}^{S}P(maxx=i) imes i\ & m =sum _{i=1}^{S}i(P(maxxleq i)-P(maxxleq i-1))\ & m = sum_{i=1}^{S}i((frac{i}{S})^n - (frac{i-1}{S})^n)end{aligned} ]

    3.2 等价技巧

    实际上是取球问题,大概思路就是取每一个球是独立的,这一点在期望的线性性上体现得比较明显:

    • 箱中有(n)个球(1…n),你要从中拿(m)次球,拿了后不放回,求取出的数字之和的期望 。

    还是期望的线性性:

    [Eleft(sum_{i=1}^{n} X_{i} ight)=sum_{i=1}^{n} Eleft(X_{i} ight)=sum_{i=1}^{n} P(X=i) i=sum_{i=1}^{n} frac{m}{n} imes i=frac{m}{n} sum_{i=1}^{n} i=frac{m}{n} imes frac{n(n+1)}{2}=frac{m(n+1)}{2} ]

    • 箱中有(n)个球(1…n),你要从中拿(m)次球,拿了后放回,求取出的数字之和的期望 。

      我们考虑每个球独立,拿到的概率还是(frac{m}{n})。所以最后答案与第一问相同。

    • 箱中有 n 个球(1…n),你要从中拿 (m) 次球,拿了后以 (p_1) 的概率放回,以 (p_2) 的概率放回两个和这个相同的球,求取出的数字之和的期望。

      这个地方可能有点绕。但是就是“球球平等”的思想。或者我们考虑对于放回和不放回,上文已经论证过了没有区别。但是后一个操作,考虑既然我球(A)摸完以后可以多一个,那么球(B)摸完以后以相等的概率也会多一个。所以还是不变,一个球这次增多了其他的也会增多。最终的答案也是(frac{m(n+1)}{2})

    3.3 状态转移

    ……就是游走模型。大概就是说假设一个点的出度为(k),他么他有(frac{1}{k})的概率走到

    • 在一条 (n) 个点的链上随机游走,求从一段端走到另一端的期望步数

    考虑分阶段进行。根据线性性,( m E(T)=sum_{i=1}^{n-1} E(X_i))。其中( m E(X_i))表示从(i)第一次走到(i+1)的期望步数。

    然后我们列方程,考虑一步转移走到了(i+1)还是(i-1)

    [ m E(X_i)=0.5+0.5cdot(1+E(X_i)+E(X_i-1)) ]

    解出来得( m E(X_i)=2+E(X_i-1))

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

    完全图的话,每个点走到每个点的概率都是(frac{1}{n-1})。于是这个题就有好多种不同的解法,比如我们用一个推论“概率为(P)的事件期望(frac{1}{P})次后发生”,就可以直接证明( m E=it n-1)

    • 在一个(2n)个点的完全二分图上游走,求一个点走到另一个点的期望步数。

      解方程的思想,分类讨论是在同侧还是异侧。记(E_a)表示在同侧的期望步数,(E_b)表示在异侧的期望步数。那么考虑有:

      [egin{aligned} E_b= frac{1}{n}+frac{n-1}{n}(E_b + 2) end{aligned} ]

      也是用线性性进行讨论,前者是从(A)侧走到(B)侧的期望步数,就是(frac{1}{n}cdot 1=frac{1}{n})步;后者是从(B)侧又走到(B)侧,步数是(E_b+2),乘上(frac{n-1}{n})的意思是不需要从自己走回自己。

      然后关于同侧,即(E_a)由于是二分图所以会有(E_b=E_a+1)。然后最终就可以解出来:

      [E_b=n+1,E_a=n ]

      注意其实先求(E_a)也是可以的,但是主要是转移不好转移,因为一开始的位置实际上也是在同侧,所以对异侧的转移会显得更自然一些。

    • 在一张 (n) 个点的菊花图上游走,求从根走到另一个点的期望步数。

      也是分类讨论,讨论现在在根节点还是菊花瓣上叶子节点上。如果在根节点那有(1cdotfrac{1}{n-1})的期望走到,如果在叶子节点上就有((E+2)cdot frac{n-2}{n-1})的期望走到。解一下方程可以发现答案就是(E=2n-3)

    • 在一棵 (n) 个点的树上游走,问从根走到(x)的期望步数。

      唔,其实有好多不同版本,也可以就是从(y)走到(x)的期望步数,因为游走问题是不存在有根树的,所以直接把(y)拽起来当根也没什么问题。然后就是考虑链做法里面的思想,设(f_u)表示(u)第一次走到他父亲的期望步数,然后就有方程

      [f_u=frac{1}{deg_u}+frac{1}{deg_u}sum_{vin son _u}(1+f_u+f_x) ]

      前者是走上去的,后者是不小心走下去的。然后期望的线性性加起来即可。

      然后就是高消时间了

    • 构造一张(200)个点的无向图,使得上面从( m S)走到( m T)的随机游走期望步数(geq 100,0000)

      考虑是一条链的时候大概有(O(n^2))的期望步数,在一张完全图上有(O(n))的期望步数,于是就可以考虑在( m S)上连出一张(100)个点的完全图,然后在一条链连到(T),就是(n^3)的期望步数。具体实现似乎需要微调的亚子233.

  • 相关阅读:
    python3中,os.path模块下常用的用法总结
    python 中str format 格式化数字补0方法
    5分钟让你明白“软链接”和“硬链接”的区别
    获得Python脚本所在目录
    sshd超时
    pip 指定源安装
    python编程规范
    Git冲突解决
    Git冲突解决
    git 更新某个目录或文件
  • 原文地址:https://www.cnblogs.com/pks-t/p/11748673.html
Copyright © 2020-2023  润新知