这里好像得写点什么……
常用形式幂级数
$\sum_{n\ge 0}x^n=\frac{1}{1-x}$
$\sum_{n\ge 1}x^n=\frac{x}{1-x}$
$\sum_{n\ge 1}nx^n=\frac{x}{(1-x)^2}$
$\sum_{n\ge 0}\frac{1}{n!}x^n=e^x$
$\sum_{n\ge 0}\frac{1}{n!}x^n=e^x$
生成函数
普通生成函数
$
\sum_{n\ge 0} A_n x^n
$
处理无标号的组合问题。
例:求节点数为 $n$ 的二叉树(不带标号)的个数。
令 $F(x)$ 表示该问题的生成函数,考虑一棵二叉树可以划分成根节点和左右子树。所以,$F(x)=xF^2(x)+1$,即左子树与右子树的方案相乘,加上根节点以及空节点的状态。
指数型生成函数
$
\sum_{n\ge 0} A_n \frac{1}{n!}x^n
$
处理有标号的组合问题。
原理:考虑将两个有标号的组合对象合并,需要将新标号的一部分分给左侧、再将另一部分分给右侧,恰好为 $n\choose k$ 的形式。处理标号合并问题。
例:联通图计数。求 $n$ 个带标号的点的联通图数量。
考虑任意图可以被划分为若干联通图。
定义联通图的生成函数为 $F(x)$,任意图的生成函数为 $G(x)$。
注意到联通图的生成函数很好求,$G(x)=\sum_{n\ge 0}\frac{2^{n(n-1)/2}}{n!}x^n$。另一方面,任意图是由联通图构成的,因此 $G(x)=e^{F(x)}$。(任意多个组合在一起的方案数)
因此,$F(x)=\ln G(x)$,通过多项式操作可以快速求得。