期望练习

期望练习

P1393 Mivik 的标题

不难想到一个暴力\(dp\),\(dp_{i,j}\)表式前\(i\)位匹配了\(j\)位的概率,如果\(n\)不大直接矩阵就行了

这里我们变化一下思路,考虑设\(f_i\)表示到\(i\)位第一次匹配到\(S\)的概率

不难发现答案即为\(\sum\limits_{i=1}^nf_i\)

对于计算\(f_i\),考虑\(\dfrac{1}{m^{|S|}}\)减去\(\sum\limits_{i=1}^{i-|S|-1}f_i\)以及\(\sum\limits_{j\in Border}f_{i-|S|+B_j}\)

前面的那个可以直接前缀和,后面那个的我们可以直接将\(Border\)分为\(log|S|\)个等差数列,同样分开前缀和即可(好像很麻烦)

这里介绍一个很新的东西

对于随机变量\(X\)

定义\(f(x)=\sum\limits_{i=0}Pr(X=i)x^i\),称之为概率生成函数

不难发现\(f(1)=1\)

\(f’(x)=\sum\limits_{i=1}iPr[X=i]x^{i-1}\)

\(f'(1)=E(X)\)

对于这道题我们定义\(F(x)\)表示第一次匹配到\(S\)\(n\)长度的生成函数

\([x^i]G(x)\)表示未匹配到\(S\)但已经选了\(i\)个字符的概率

对于这道题,我们要求的就是\(1-[x^n]G(x)\)

首先有个式子是\([x^i]F(x)+[x^i]G(x)=[x^{i-1}]G(x)\),这个不难理解

我们形式话一点就是\(F(x)+G(x)=1+G(x)x\)

\(F(x)=G(x)\times (x-1)+1\)

还有个式子,我们考虑对一个未完成序列后面直接接一个\(S\)

如果是长度为\(i\)的序列直接接了\(S\),那他一定会结束

我们设\(a_i\)表示\(i\)长度是不是\(border\)

\([x^i]G(x)(\dfrac{1}{m})^{|S|}=\sum\limits_{j=1}^{|S|}a_j[x^{i+j}]F(x)(\dfrac{1}{m})^{|S|-j}\)

也即是\(G(x)(\dfrac{1}{m}x)^{|S|}=\sum\limits_{i=1}^{|S|}a_iF(x)(\dfrac{1}{m}x)^{|S|-i}\)

也即\(G(x)=\sum\limits_{i=1}^{|S|}a_i\dfrac{F(x)}{(\frac{x}{m})^i}=\sum\limits_{i=1}^{|S|}a_i\dfrac{(G(x)\times (x-1)+1)}{(\frac{x}{m})^i}\)

\(G(x)=((G(x)\times (x-1)+1))\sum\limits_{i=1}^{|S|}\dfrac{a_i}{(\frac{x}{m})^i}\)

好像化不走了

同时乘个\(x^S\)

\(G(x)\dfrac{x^S}{m^S}=(G(x)(x-1)+1)\sum\limits_{i=1}^{|S|}a_i(\dfrac{x}{m})^{|S|-i}\)

我们不妨将\(\sum\limits_{i=1}^{|S|}a_i(\dfrac{x}{m})^{|S|-i}\)记为\(H(x)\)

\(G(x)\dfrac{x^S}{m^S}=(G(x)(x-1)+1)H(x)\)

\(G(x)=\dfrac{H(x)}{\dfrac{x^S}{m^S}-H(x)(x-1)}\),如果直接求逆或者\(bostan−mori\)

\[[x^n]\dfrac{F(x)}{G(x)}=[x^n]\dfrac{F(x)G(-x)}{G(x)G(-x)}=[x^n]\dfrac{xU_1(x^2)+U_2(x^2)}{V(x^2)} \]

P4548 [CTSC2006]歌唱王国

和上题差不多,只是改成求期望生成多少长度可以得到\(S\)

不难发现就是\(F'(1)\)

\(F(x)=G(x)\times (x-1)+1\)

\(F'(x)=G'(x)x+G(x)-G'(x)\)

\(F'(1)=G(1)=H(1)m^S=\sum\limits_{i=1}^{|S|}a_im^i\)

其实觉得这个东西很妙,\(F,G\)在后面接一段的推导自认为想不出了

大概可以用\(Dp\)推?

给国与赌场

大致题意:你有\(X\)的钱\((X<1)\),你可以考虑拿\(Y\)的钱去赌,有\(p\)的概率变成\(2Y\),\(p<\dfrac{1}{2}\),有\(1-p\)的概率变成\(0\),你每次的\(Y_i\)必须单调递增,如果不能拿出这样的\(Y\)为输,否则到\(1\)为赢,求在最优策略下赢的概率

由于\(p<\dfrac{1}{2}\),那其实拖得越久赢的概率越小,所以只要\(X>\dfrac{1}{2}\),我们就可以直接用\(1-X\)

对于\(X<\dfrac{1}{2}\),最优策略是我们全部赌完,不会证

还有一个等价的策略是直接取二进制小数位的最低位

剩下的\(Dp\)也很复杂,咕了

补充

条件概率\(P(A|B)=\dfrac{P(A\cap B)}{P(B)}\)

一个有意思的问题

1.一对夫妇有两个孩子,已知其中一个是女孩,求另一个也是女孩的概率

事件\(A\)一个是女孩

事件\(B\)另一个是女孩,\(A,B\)互相独立

\(P(A)=P(B)=\dfrac{1}{2},P(A|B)=\dfrac{1}{2}\)

2.一对夫妇有两个孩子,已知有女孩,求都是女孩的概率

事件\(A\)都是女孩,\(P(A)=\dfrac{1}{4}\)

事件\(A\)有女孩,\(P(B)=\dfrac{3}{4}\)

\(P(A|B)=\dfrac{1}{3}\),可以发现问题的关键在于有和其中一个是的区别(其实现在都不是很明白)

\(B_i\)是对全集\(\Omega\)的划分

\(P(A)=\sum P(A|B_i)P(B_i)\)

\(P(B_i|A)=\dfrac{P(A|B_i)P(B_i)}{\sum\limits P(A|B_j)P(B_j)}\)

上面的那个称为全概率公式,下面的称为贝叶斯公式(也就是考虑\(B_i\)权重的占比)

这里我们可以称\(P(A)\)为先验概率,\(P(A|B)\)为后验概率,即经过\(B\)的测试得到\(A\)更确切的概率

全概率公式可以当作原因推结果,而贝叶斯为结果推原因

BZOJ 3093

很明显你取\(p\)个球里有\(q\)个球是红色相当于一个测验,我们就是要求后验概率

\(A\)表示拿一个球是红色的事件,\(B\)就是上面的那个

\(P(A|B)=\dfrac{P(AB)}{P(B)}\),由于我们不知道原始的球,因此设\(C_k\)表示原来有\(k\)个红球

\(P(AB)=\sum\limits P(C_k)P(AB|C_k)=\sum\limits P(C_k)\dfrac{P(ABC_k)}{P(C_k)}=\sum P(C_k)P(B|C_k)P(A|BC_k)\)

\(P(B)=\sum\limits P(C_k)P(B|C_k)\)

\(P(C_k)=\dfrac{1}{n+1},P(B|C_k)=\dfrac{\binom{k}{q}\binom{n-k}{p-q}}{\binom{n}{p}},P(A|BC_k)=\dfrac{k-q}{n-p}\)

\(P(A|B)=\dfrac{\sum\limits_{k=0}^n\frac{1}{n+1}\dfrac{\binom{k}{q}\binom{n-k}{p-q}}{\binom{n}{p}}\dfrac{k-q}{n-p}}{\sum\limits_{k=0}^n\frac{1}{n+1}\dfrac{\binom{k}{q}\binom{n-k}{p-q}}{\binom{n}{p}}}=\dfrac{\sum\limits_{k=0}^n\binom{k}{q}\binom{n-k}{p-q}(k-q)}{\sum\limits_{k=0}^n\binom{k}{q}\binom{n-k}{p-q}(n-p)}\)

\(=\dfrac{\sum\limits_{k=0}^n\binom{k}{q+1}\binom{n-k}{p-q}(q+1)}{\sum\limits_{k=0}^n\binom{k}{q}\binom{n-k}{p-q}(n-p)}=\dfrac{q+1}{n-p}\dfrac{\sum\limits_{k=0}^n\binom{k}{q+1}\binom{n-k}{p-q}}{\sum\limits_{k=0}^n\binom{k}{q}\binom{n-k}{p-q}}\)

注意到\(\sum\limits_{k=0}^n\binom{k}{q}\binom{n-k}{p-q}\)长得有点想范德蒙德卷积,实际上也差不多\(\binom{n+1}{p+1}\),也就是考虑选前\(k\)个放\(q\)个球后面再加一个特殊的限制不重

即原式为\(\dfrac{q+1}{n-p}\dfrac{\binom{n+1}{p+2}}{\binom{n+1}{p+1}}=\dfrac{q+1}{p+2}\)

P4206 [NOI2005] 聪聪与可可

最开始看错题了/kk

因为猫会走两步,所以猫鼠之间的距离是递减的,直接\(dp\)就行了,不会出现环

如果这道题是走一步的话,好像环的大小不大,直接局部高消

UOJ 211

一个很有趣的题

首先\(V=E(x^2)-(E(x))^2\),先求\(E(x)\)

不同位置的期望会使我们先考虑第一次到达每一位置的概率,最后直接期望的线性性质加起来即可

\(f(i,x,y)\)表示第\(i\)步第一次到达\((x,y)\)的概率

\(g(i,x,y)\)表示第\(i\)步到达\((x,y)\)的概率

我们设\(p_i\)为向前后左右走的概率,\(dx_i,dy_i\)表示增量

很明显\(g(i,x,y)=\sum\limits_{i=0}g(i-1,x-dx_i,y-dy_i)p_i\)

然后考虑容斥

\(f(i,x,y)=g(i,x,y)-\sum\limits_{j=0}^{i-1}f(j,x,y)h(i-j,x,y)\)

其中\(h(i,x,y)\)为走\(i\)步回到原处的概率,也就是\(g(i,0,0)\)

\(f(i,x,y)=g(i,x,y)-\sum\limits_{j=0}^{i-1}f(j,x,y)g(i-j,0,0)\)

接着是求\(E(X^2)\),我们考虑将\(E(2\binom{X}{2}+X)=2E(\binom{X}{2})+E(X)\)

接下来问题在于\(E(\binom{X}{2})\),我们考虑将其考虑成在不同的位置中选择两个位置的方案总数,因此我们可以考虑在其中一个不同的位置上统计答案

即设\(h(i,x,y,z,w)\)表示\((x,y)\)第一次经过且前面已经经过\((x-z,y-w)\)的概率,很明显每个地方都有\(1\)的贡献

对于\(h(i,x,y,z,w)\)的计算,考虑枚举\((x-z,y-w)\)经过的第一次到达的步数,再减去\(x,y\)\((x-z,y-w)\)第一次到达之前的概率

\(h(i,x,y,z,w)=\sum\limits_{j=0}^{i-1}(f(j,x-z,y-w)-h(j,x-z,y-w,-z,-w))f(i-j,z,w)\)

这里五维肯定是不行的

这长得很想卷积

这里我们对\((x,y)\)求和,即\(s(z,w)\)

可以发现\((x,y)\)如果取遍全集,\(\sum h(j,x-z,y-w,-z,-w)\)相当于\(s(-z,-w)\),\((\sum f(j,x-z,y-w))\)同样可以取遍,我们设\(F(i)\)\(\sum f(i,x,y)\)

\(s(i,z,w)=\sum\limits_{j=0}^{i-1}(F(j)-s(j,-z,-w))f(i-j,z,w)\)

这个是不是可以\(FFT\)?\(f(i,j)=\sum\limits_{z,w}g(z,w)h(i-z,j-w)\),不过好像多了个\(log(n)\)

P1850 [NOIP2016 提高组] 换教室

没什么好说的,注意状态的设计就行了

CF335E Counting Skyscrapers

先处理第一问

可以发现的是\(B\)爬的轨迹是先爬到最高楼再缓慢下降

\(f_{i,h}\)表示当前还是处于往上爬时当前高度为\(h\)

\(f_{i,h}=(\sum\limits_{h'=0}^{h}\sum\limits_{j=1}^{i-1}(f_{j,h'}+2^{h'})\times (\dfrac{2^{h'}-1}{2^{h'}})^{i-j-1})\times\dfrac{1}{2^{h'+1}}\)

这里\(f_{i,h}\)好像可以直接用前缀和优化,可以看到\((f_{j,h'}+2^{h'})\times(\dfrac{2^{h'}}{2^{h'}-1})^{j+1}\)\(i\)没关系

至于最后的答案我们可以直接枚举最高点

\(\sum\limits_{i=1}^{h'}\dfrac{1}{2^{i}}=1-\dfrac{1}{2^{h'}}\)

好像有问题

首先是这个期望的转移如果抽象为图的话,那到达某个节点是有概率的,因此这里我们算的应该是是条件概率,而且那个最高点的概率还想也得重新\(Dp\),设\(g_{i,h}\)表示前\(i\)个目前最高高度为\(h\)的概率,仔细一想会发现这个地方前驱的概率和不为\(1\)

这里我们先解决\(g\)

\(g_{i,h}=(\sum\limits_{h'=0}^{h}\sum\limits_{j=1}^{i-1}(g_{j,h'})\times (\dfrac{2^{h'}-1}{2^{h'}})^{i-j-1}))\times \dfrac{1}{2^{h+1}}\)

同样前缀和优化一下

\(f_{i,h}=(\sum\limits_{h'=0}^{h}\sum\limits_{j=1}^{i-1}(f_{j,h'}+2^{h'})\times \dfrac{(g_{j,h'})\times(\dfrac{2^{h'}-1}{2^{h'}})^{i-j-1}\times \dfrac{1}{2^{h+1}}}{g_{i,h}}\)

额,直接计算\(g\)会爆精度,小丑了

好像有方法可以解决,再开一维?

算了,先考虑第二问

考虑高度为\(h\)的线,他对\(B\)的贡献明显为\(2^h\)

接下来对于高度为\(h\)的线,它能延续的长度期望为\(\sum\limits_{i=1}i(1-\dfrac{1}{2^h})^{i-1}(\dfrac{1}{2^{h}})\)

打个表,你会发现这个似乎是\(2^{h}\),然后\(A\)的期望便与\(B\)是等价的

具体证明就是这个其实很像一个模型,就是你有\((1-\dfrac{1}{2^h})\)的概率\(+1\)

于是答案等价于\(\sum\limits_{i=1}((1-\dfrac{1}{2^h}))^i=2^{h}\)

对于第一问,我们不妨参考这个思路

对于一个高度为\(h\)长度为\(l\)的线,它出现的概率是\(\dfrac{1}{2^{2h}}(1-\dfrac{1}{2^h})^{l-1}\),一共有\(n-l\)

对于它的贡献,很明显是\(2^h-\)它覆盖的线

对于覆盖的线,这条线一定是高度为\(h-1\),至于线的条数,不难发现是这段区间内高度为\(h-1\)的数量\(+1\)

注意这里是在全部低于\(h\)的情况

因此线条数的期望为\(l-1\dfrac{\dfrac{1}{2^{h}}}{1-\dfrac{1}{2^{h}}}=\dfrac{l-1}{2^{h}-1}\)

最后假定最开始全部都是高度为\(0\)的楼即可

感觉说的有点模糊,但本质就是利用期望的线性性质将答案拆分到每个线段上,每个线段能贡献的前提是被覆盖的即被计算

[AGC016E] Poor Turkeys

降智题

最开始以为是个图论,然后就感觉可以把每次吃完不行的组剔除,好像也不行

实际上,如果我们钦定一个\(i\)存活,不难发现和\(i\)有关的人选的方案是一定的,而且是倒着定的

进一步考虑,对于\(i,j\),考虑使他们存活的方案为\(S_i,S_j\),如果\(S_i,S_j\)刀的人有交叉,那一定会出现有一个人刀不了的情况

至于要刀的人,我们也可以理解为前\(x\)人依然存活,在\(x\)处刀了它

我们考虑用这样的思路维护\(S_i\)即可

CF708E Student's Camp

很明显,行与行之间分开考虑

\(P(l)\)为前\(l-1\)被摧毁,\(l\)没被摧毁

很明显\(P(l)=\binom{k}{l-1}p^{l-1}(1-p)^{k-(l-1)}\)

由于对称性,从左边还是右边只和长度有关

我们设\(dp_{i,l,r}\)为前\(i\)局面为\(l,r\)且连通的概率

\(dp_{i,l,r}=\sum\limits_{l'\le r,r'\ge l}dp_{i-1,l',r'}p(l)p(m-r+1)\)

时间复杂度起飞

转化一下,我们记\(f_{i,r}=\sum\limits_{l=r}dp_{i,l,r}\),\(s_{i,r}=\sum\limits_{r'=r}f_{i,r'}\)

同样左右可以互换

这里我们容斥一下

\(dp_{i,l,r}=p(l)p(m-r+1)(s_{i-1,m}-s_{i-1,l-1}-s_{i-1,m-r})\)

然后\(f_{i,r}=\sum\limits_{l=r}dp_{i,l,r}=p(m-r+1)\sum\limits_{l=r}p(l)(s_{i-1,m}-s_{i-1,l-1}-s_{i-1,m-r})\)

\(=p(m-r+1)(\sum\limits_{l=r}p(l)(s_{i-1,m}-s_{i-1,m-r})-\sum\limits_{l=r}p(l)s_{i-1,l-1})\)

前缀和优化一下即可,这个优化还是很有趣的

posted @ 2023-05-21 17:20  kid_magic  阅读(20)  评论(1编辑  收藏  举报