期望生成函数笔记

性质

  1. \(F(1)=\sum^{+\infty}_{i=0}z_{i} = 1\)
  2. \(F'(1)=\sum^{+\infty}_{i=0}iz_{i} = E(x)\)
  3. \(V(x)=E(x^2)-E^2(x)=F''(1)+F'(1)-(F'(1))^2\)

剩下就记录一下几道期望生成函数的做题过程罢。

做题记录

[CTSC2006] 歌唱王国

\(f_{i}\) 为长度为 \(i\) 的串结束的概率, \(g_{i}\) 为长度为 \(i\) 的串没有结束的概率。

那么有:

\[\begin{aligned} F(x)+G(x)&=xG(x)+1\\ G(x)(\frac{1}{n}x)^L&=\sum^{L}_{i=1}[S[1,i]\ is \ border]F(x)(\frac{1}{n}x)^{L-i}\\ \end{aligned} \]

第一个式子是考虑往一个没有结束的串末尾加一个字符,只有 结束/没结束 两种情况。

第二个式子是考虑往一个没有结束的串末尾加指定串,它肯定是若干个已经结束了的串构成,枚举所有情况即可。

可以发现答案就是 \(F'(1)\)

由上式可以得到:

\[\begin{aligned} F'(x)+G'(X)&=G(x)+xG'(x)\\ F'(1)&=G(1)\\ G(1)\frac{1}{m^L}&=\sum^{K}_{i=1}a_{i}\frac{1}{m^{L-i}}\\ F'(1)&=\sum^{K}_{i=1}a_{i}m^{i} \end{aligned} \]

套一个 kmp 即可。

[SDOI2017] 硬币游戏

这题跟上一题差不多,只是现在有了多个模式串而已。

跟上题一样,设 \(F_{i}(x)\) 为以第 \(i\) 个串为结尾的结束了的串的期望生成函数, \(G(x)\) 则同上。

那么有:

\[\begin{aligned} G(x)+\sum^{n}_{i=1}F_{i}(x)&=xG(x)+1\\ G(x)(\frac{1}{2}x)^m&=\sum^{n}_{j=1}\sum^{m}_{k=1}[S_{i}[1,k]=S_{j}[m-k+1,k]]F_{j}(x)(\frac{1}{2}x)^{m-k}\\ \end{aligned} \]

其中 \((2)\) 式是枚举往结尾塞入第 \(i\) 个模式串。

而我们要求的是 \(F_{i}(1)\)

简单分析之后可得:

\[\begin{aligned} \sum^{n}_{i=1}F_{i}(1)&=1\\ G(x)\frac{1}{2^{m}}&=\sum^{n}_{j=1}\sum^{m}_{k=1}[S_{i}[1,k]=S_{j}[m-k+1,k]]\frac{1}{2^{m-k}}F_{1}(1)\\ \end{aligned} \]

高斯消元即可。

posted @ 2021-09-13 19:19  krimson  阅读(119)  评论(0编辑  收藏  举报