性质
- \(F(1)=\sum^{+\infty}_{i=0}z_{i} = 1\)
- \(F'(1)=\sum^{+\infty}_{i=0}iz_{i} = E(x)\)
剩下就记录一下几道期望生成函数的做题过程罢。
做题记录
[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} \]高斯消元即可。