有些组合数学的东西看不懂主要是书本上不怎么好好说话。
所以有些东西还是得自己琢磨。
百度百科上给出了生成函数的定义 其实也非常难看懂。
生成函数(母函数):对数列$\{ a_0,a_1,a_2,...,a_n\}$,维护的一个多项式$G(x) = \sum\limits_{i=0}^{n} a_i x^i$
打个比方说,今天心血来潮想用一个多项式来表示一个序列$ \{ 1,2,3,4,5\}$
那么就可以这么构造多项式$G(x) = 1 + 2x^1 + 3x^2 + 4x^3 +5x^4$
但是这个东西对于$x$本生的取值是不影响多项式表示数列的本质的。
甚至说,我们把一个确定的$x=k$带入到多项式中计算出的值某种意义上可以作为分辨这些数列的$Key$。
所以$x$取多少是没有意义的,有些时候为了方便起见(方便描述一个无穷项的数列),我们指定$x$是一个范围使得多项式的值收敛。
比如,我要表示这样一个无穷序列$\{1,1,1...\}$,构造出的多项式是$G(x) = \sum\limits_{i=0}^{\infty}x^i$
通过等比数列求和我们可以知道这个事情在$|x| < 1$的时候是收敛的,于是$G(x) = \frac{x^{\infty}-1}{x-1}$
容易知道,当$|x| < 1$那么$x^{\infty} \to 0$ , 所以就有: $G(x) = \frac{1}{1-x} $
定理1: 对于数列$\{1,1,1...\}$的生成函数是$G(x) = \frac{1}{1-x}$
事情远远没有那么简单。
如果我要表示$\{ 1,0,0,1,0,0,1,0,0...\}$怎么办呢。
显然这个东西表示成生成函数,可以写成$G(x) = x^0 + x^3 + x^6 + ...$
在转换一下就是$G(x) = \sum\limits_{i=0}^{\infty} {x^2}^i =\frac{1}{1-x^2} $ (就相当于$x$用$x^2$代替即可)。