指数型生成函数小记

面对“$n$ 个数中选 $k$ 个数”之类的问题,脑子里第一个想到指数型生成函数。

重要技巧:进行一个游戏,进行的期望次数=Σ(进行 i 次还没有停止的概率)。

证明:阿贝尔变换即可。

于是就可以设 $P(i)$ 为进行 $i$ 次的概率,令 $F(z)=\sum\limits_{i \geq 0} P(i)z^i$,则答案为 $F(z)$ 的系数和。

特别地,对于指数型生成函数,求的就是 $F(z)=\sum\limits_{i \geq 0} P(i)\frac{z^i}{i!}$ 的系数和。

然后就是利用 $e^z=\sum\limits_{i \geq 0} \frac{z^i}{i!}$ 无限转有限,即 $\sum\limits_{i \geq k} \frac{z^i}{i!}=e^z-\sum\limits_{i=0}^{k-1} \frac{z^i}{i!}$

然后多项式乘法,得到 $F(z)=\sum\limits_{i=0}{k-1} G(z)e^{i/k}$,其中 $G(z)$ 是关于 $z$ 的多项式。

拆出来,即求一些

$$

c_j z^j \sum\limits_{i \geq 0} \frac{(pz)^i}{i!}

$$

$ = c_j \sum\limits_{i \geq 0} p^i \frac{z^{i+j}}{i!} $

$ = c_j \sum\limits_{i \geq 0} p^i \frac{z^{i+j}}{i!} $

 

上一篇:杂题


下一篇:转|如何给100亿个数字排序