数学学习笔记4

概率期望

咕咕咕(?)
基础知识都在课件上不想手打了,好像都挺简单的

upd on 2022.2.15 更新了相关概率期望内容
upd on 2022.3.13 完善了概率期望相关内容,偏向入门

概率
~~(下文记A'为事件A的对立事件
样本空间:随机试验所有可能结果组成的集合
样本空间的任意一个子集称之为事件
事件发生:在一次试验中,事件的一个样本点发生
事件的运算律满足集合的运算律
概率:
• 定义:为样本空间的每一个事件定义一个实数,这个实数称为概
率。事件𝐴的概率称为𝑃(A)
根据定义有如下性质:

  • 0P(A)1
  • 假设A1,A2,A3为互不相同的基本事件,有P(Ai)=1
  • 对于若干个互斥的事件,有P(A1A2A3...)=P(A1)+P(A2)+P(A3)+...
  • 如果𝐴𝐵𝑃(𝐵𝐴)=𝑃(𝐵)𝑃(A),更一般的,𝑃(𝐵𝐴)=𝑃(𝐵)𝑃(𝐴𝐵)
  • P(AB)=P(A)+P(B)P(AB)
  • P(AB)=P(A)P(B)(A,B相互独立)
  • P(A)=1P(A)

这些我们都可以通过定理3将一个事件划分成若干个不相交的事件然后求解

全概率公式:P(A)=P(A|Bi)P(Bi)
这会经常在一些递推中用到

古典概率

  • 有限性
  • 等可能性

P(A)=n(A)n(Ω)

一般古典概率都可以通过一些排列组合的计数知识解决

条件概率

P(A|B)=P(AB)P(B)

  • 对于若干个互斥的事件,有P(B1B2B3|A)=P(B1|A)+P(B2|A)+P(B3|A)+...
  • P(𝐵|A)=1P(B|A)
  • P(BC|A)=P(B|A)+P(C|A)P(BC|A)

概率的几个式子用到条件概率上也是成立的

P(A)=P(A|Bi)P(Bi)

例题:见zhx课件

概率杂项
二项分布:进行n从独立重复实验,成功k次的概率Pn(X=k)=Cnk pk(1p)nk,同时我们有E(X)=np , D(X)=np(1p)

期望

对于一个离散型随机变量X,有P(X=xi)=pi
两点分布:X只有两种取值,P(X=0)=p,P(X=1)=1p  E(X)=p,D(X)=p(1p)

E(X)=iP(X=xi)xi,D(X)=ipi(xiE(X))2=E(X2)E(X)2

  • E(aX+b)=aE(X)+b(必须保证概率不变
  • E(X+Y)=E(X)+E(Y)(期望线形性
  • E(XY)=E(X)E(Y)(X,Y独立
  • D(X+Y)=D(X)+D(Y)(X,Y独立
  • D(aX)=a2D(X)

全期望公式: E(Y)=iP(X=xi)E(Y|X=xi)

期望概率DP

对于等可能性问题可以转化为一个计数问题,否则可能需要期望线形性转化为别的问题或者是期望概率DP

期望概率DP一般要"倒着退",因为我们一般是可以通过下一个决策推出若干个状态,我们要想从这些状态转移到该点,就需要逆序定义状态,比如"一直选 选到n点",注意发现题目中的等价信息

osu

由于 0111011 = 0+1+3+5+0+1+3,即(x+1)2x2=2x+1

考虑E(ANS)可以拆成E(2x1+1)+E(2x2+1)+....
x1,x2为点的期望结尾长度,于是我们计算每个点的期望结尾长度

分情况讨论即可
设 fi为考虑前 i 个字符的期望得分,li​为以 i 为结尾的 comb 的期望长度,Si为第 i 个字符,那么有 3 种情况:
Si=o,fi=fi1+li12+1,li=li1+1
Si=x,fi=fi1,li=0
Si=?,fi=fi1+(li12+1)/2,li=(li1+1)/2

由于当我们由全概率公式得到一种情况时,E((x+12))=E(x2)+2E(x)+1,所以直接累加到f里即可,由于?的时候有两种情况,相当于有两条不同边连向了i-1

DAG模型
有一个DAG,初始的时候在A号点,每次随机选择一条出边走下去,直到走不动位置。求期望经过的路径长度。

  • 1.倒着递推即可
  • 2.求出每条边的经过概率,算每条边对于答案的贡献,正着做

RedIsGood
桌面上有 R 张红牌和 B 张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到 1 美元,黑牌则付出 1 美元。可以随时停止翻牌,在最优策略下平均能得到多少钱?

R,B ≤ 5000

考虑期望DP,fi,j代表i张red,j张black,然后看每次选哪张牌就转换到了上个DAG模型了

fi,j代表还剩i张红牌,j张黑牌直到取完的期望,转移枚举再翻哪一张牌 fi,j=ii+j(fi1,j+1)+ji+j(fi,j11)

游走模型
一个人初始在点A,一共有两条路,每次随机选择一条
有P的概率花一天时间走到B
有1-P的概率花一天走回A。
求这个人期望需要几天走到B?

  • 1.大力推导
  • 2.解方程
  • 3.直觉

相比之下我更喜欢第2种

回归题目,直接
x=P+(1P)(1+x)  解得  x=1P

类似题目还有checkpoints 线性生物

大力推荐Rainair的博客 https://blog.aor.sd.cn/archives/725/

游走

先期望线性分解成每条边的期望次数,即我们只要求出了每个点期望经过次数就行了(fuv=fudu+fvdv)

可列方程fu=vfvdv+[u=1]

换教室
拆成每条边的期望值,DP即可

分手是祝愿
相逢是问候

相当于异或
首先对于一个序列,我们一定是贪心的从大到小按,直到按到了一个和原序列相同的数,即我们按那些位置都是确定的,如果我们有一个位置按错,就要再按一次该位置还原,于是fi为从i个要按位置按到了i-1的期望次数

fi=in+nin(1+fi+1+fi)

ans=i=k+1fi

皮克敏
https://noip.ac/rs/show_problem/3687

只要我们把状态定义好了,只需要考虑这种特殊情况即可,其他相同情况根本不用考虑,即锁定下来了,接着考虑每一步能退到哪些状态,来实现我们的DAG模型

数树
https://noip.ac/rs/show_problem/3675
类似osu一样推式子

覆盖
http://zhengruioi.com/contest/698/problem/1549
CF280C Game on Tree

亚瑟王
由于每个数只能出现一次,所以这启发我们根据序列来dp,相当于我们将每个点的概率都算上了,这样的话只考虑下一点单独的概率即可
具体的,先拆成每个点存在于r轮的概率,然后计算
发现,位置1的概率为1(1P)r,(注意全集大小)
这是因为每次选都会先经过一号点
这启发我们fi,j为前i个位置,已经选了j张牌的概率,转移为
fi,j=fi1,j×(1P)rj+fi1,j1×(1P)rj+1
则每个点的概率为jfi1,j×(1(1P)rj)
练习题:
CF865C Gotta Go Fast
CF1540B Tree Array

Warning:下面知识点会用到导数和微积分的知识

再谈生成函数

移位一定要补特殊项,拆

形式幂级数
形如
F(x)=n0anxn
不收敛,但可以求出她的封闭形式
逆元
如果A(x)是形式幂级数,a0可逆,则存在一个B(x)使得A(x)B(x)=1则B(x)为逆元

i=0naibni=(b0=1a0bn=1a0i=0n1aibni)

导数与积分
如果A(x)是OGF,则
A(x)=ddxA(x)=n1nanxn1=n0(n+1)an+1xn
A(x)dx=n01n+1anxn+1=n>0fn1nxn+C

广义二项式定理
(1+x)a=n0(a,n)xn[a:R]

广义二项式系数
(n,m)=n(n1)...(nm+1)m!

对于一个数列{fn}
OGF:F(x)=n0fnxn
EGF:F(x)=n0fnxnn!

常见生成函数及运算
OGF:
满足数乘,卷积,加法
(n0fnxn)×(n0gnxn)=n0(i=0nfigni)xn

EGF:
满足数乘,卷积,加法
(n0fnxnn!)×(n0gnxnn!)=n0(i=0n(n,i)figni)xnn!
其实一些简单的完全可以现退,这里就放出一些基本不会推出来的

n0xn=11x

nmxn=xm1x

n0anxn=11ax

n0(n+k1,n)xn=1(1x)k

n0cnxnn!=ecx

斐波那契

F(x)=x1xx2,再因式分解一下

卡特兰数

用最朴素的递推公式,发现是个卷积的形式,展开带入得
F(x)=1+xF2(x),解得
F(x)=114x2x
再用广义二项式定理展开回带即可得出
fn=(2n,n)n+1

指数型生成函数

牵扯到好多微积分的知识,学不明白了/ll

一些常见的EGF:(直接泰勒展开!)

n0xnn!=ex  [ 1,1,1... ] 

n0(1)n xnn!=ex  [ 1,1,1... ] 

n0cnxnn!=ecx  [ 1,c,c2,c3... ]

n1(n1)!xnn!=ln 11x  [ 0!,1!,2!,... ]

移位
求导左移,积分右移

所有常见生成函数
有点乱,见
https://rqy.moe/Algorithms/generating-function/

贝尔数--exp

不容易啊不容易啊

将n个有区别的小球放进任意多个无区别的箱子的方案数,即将一个大小为n的集合划分成若干个不相交非空子集的并的方案数,有递推式(当然你可以斯特灵数)

wn+1=i=0n(n,i)wni+[n=0]

相当于{1}和{wn}的二项卷积

W(x)=W(x)ex+1

求导得

W(x)W(x)=ex

积分得

ln W(x)=ex+C

于是

W(x)=eex1=exp(ex1)

这可以扩展到一类图计数问题

多项式

拉格朗日插值

如果有一个不超过n次的多项式f,则通过n+1个不同的点(xi,yi),其中f(xi)=yi,则我们就可以确定这个唯一的多项式,这n+1个点称为多项式f的点值表示

给定n+1个点(xi,yi),于是我们有

f(x)=i=0nyili(x)

li(x)=Π0jn,jixxjxixj

单位根

满足xn1=0的x被称作n次单位根

欧拉公式:z=(x+yi)=reiθ=r(cosθ+isinθ)

离散傅里叶变换(DFT)

设 f 是长度为 n 的数列,对 0 ≤ k < n,令
F(k)=i=0n1fiwnik

显然,F(k)=f(wnk),其实与点值表示是等价的

循环卷积
对于两个数列f和g,定义

hk=(i+j)mod n=kfigj

h为f和g的循环卷积

由于
wnn=1
wni+j mod n=wni+j

所以F(fg)=F(f)F(g)

于是几乎和FFT一样做,但是需要把>=n的部分折回来

复数单位根
xn=1
wnk=cos2πkn+sin2πkni
wdndk=wnk
wnk+n=wnk
wnk+n2=wnk
(wnk)d=wnkd
wn0=wnn=1

FFT
算两个多项式的乘积,通过ianzhi
对于一个多项式A(x)=i=0n1aixi,假设n=2k
我们可以得出递归式子
点值表示法:我们可以将0-n-1的wni为根带进去
共有3步
1.将多项式化为DFT
2.F(fg)=F(f)F(g) (x1,F(x1)G(x1))
3.将DFT变回一个多项式

A0(x)=a0+a2x+a4x2+....an2xn21
A1(x)=a1+a3x+a5x2+....an1xn21
A(x)=A0(x2)+xA1(x2)

A(wnk)=A0(wn2k)+wnkA1(wn2k)

但是复杂度是个n^2的...

A(wnk+n2)=A0(wn2k)wnkA1(wn2k)

n个n次多项式->n个n/2次多项式->n个n/4次的多项式->...->n个1次多项式

复杂度O(nlogn)

但是操作3怎办?

IDFT

我们已知(wn0,f(wn0))....若干个多项式乘积后的DFT,考虑重新定义多项式
Y(x)=i=0nf(wni)xi
拆开整理一下
在定义Y的点值(wnk,ck)
整理得ck=akn
于是求一下ck的值就行了

NTT

求出一个原根,发现单位根的性质都满足,于是随便做了

998244353=119*2^23+1 原根为3

FWT

巨坑,待填,暂且放着

多项式求逆

 A(x)B(x)1 (mod  xn)

n=1时就是个逆元
于是我们可以递归求解,n->n/2上取整
得到
B(x)2C(x)A(x)C(x)2 (mod  xn)
用ntt加速即可

多项式开根

 B(x)2A(x) (mod  xn)

B(x)C(x)2+A(x)2C(x) (mod  xn)

多项式除法

注意:这不是在取模意义下!

给定 A(x) B(x) 要求求出一对 C(x) D(x) 
使得 A(x)=B(x)C(x)+D(x) 且最高次项分别为n m n-m <m
考虑定义一个新的函数rev(F(x))=xnF(1x)

rev(A(x))rev(B(x))rev(C(x)) (mod  xnm+1)

然后多项式求逆就完了

多项式取对数

 g(x)ln f(x) (mod  xn) 
求导,求逆,积分,得( g(x)f(x)f(x)(mod  xn) )'
因为
ddx ln A(x)=A(x)A(x)
所以
ln A(x)=A(x)A(x)dx
多项式求逆即可

多项式exp

g(x)ef(x) (mod  xn)
取log得
ln g(x)f(x) (mod  xn)
定义多项式函数h(g(x))=ln g(x)f(x)
即求这个函数的零点,求导得
h(g(x))=1g(x)

现在考虑我们求得
h(g0(x))0 (mod  xn) => h(g1(x))0 (mod  x2n)

g1(x)g0(x)0 (mod  xn)

h(g1(x))h(g0(x))+h(g0(x))(g1(x)g0(x))0 (mod  x2n)

g1(x)g0(x)+g0(x)(f(x)ln g0(x)) (mod  x2n)

泰勒展开

对于任意一个函数 f(x) 她的泰勒展开为

 f(x)=f(x0)0!+f(1)(x0)1!(xx0)+f(2)(x0)2!(xx0)2+.......... 

多项式快速幂

 f(x)k mod  xn 
当然可以倍增做
可以写成 f(x)k=ek lnf(x) 
(ab=eb ln a)

posted @   hs_wfz_orz  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示