生成函数

普通生成函数

一个序列 \(\{a_n\}\) 的普通生成函数为

\[f(x)=\sum_{i=0}^{\infty} a_ix^i \]

他可以通过四则运算得到答案序列的生成函数。

常用形式:

  • \(\forall i,a_i=1 \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} x^i=\frac{1}{1-x}\)
  • \(\forall i,a_{ki}=1 \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} [k|i]x^i=\frac{1}{1-x^k}\)
  • \(a_i=\binom{n}{i} \ \ : \ \sum\limits_{i=0}^{\infty}\binom{n}{i}x^i=(1+x)^n\)

普通生成函数可以用来解决一些组合问题。

指数生成函数

一个序列 \(\{a_n\}\) 的指数生成函数为

\[f(x)=\sum_{i=0}^{\infty} a_i\frac{x^i}{i!} \]

常用形式:

  • \(\forall i,a_i=1 \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} \frac{x^i}{i!}=e^x\)
  • \(\forall i,a_{i}=k^i \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} k^i\frac{x^i}{i!}=e^{kx}\)
  • \(\forall i,a_{2i}=1 \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} [i\%2=0]\frac{x^i}{i!}=\frac{e^x+e^{-x}}{2}\)
  • \(\forall i,a_{2i+1}=1 \ \ : \ f(x)=\sum\limits_{i=0}^{\infty} [i\%2=1]\frac{x^i}{i!}=\frac{e^x-e^{-x}}{2}\)
    若两个序列 \(a\)\(b\) 的指数生成函数相乘

\[\begin{aligned} F(x) \cdot G(x) &= (\sum\limits_{i = 0}^{\infty} a_i \frac{x^i}{i!})(\sum\limits_{i = 0}^{\infty} b_i \frac{x^i}{i!}) \\ &= \sum\limits_{n = 0}^{\infty} (\sum\limits_{i = 0}^{\infty} \frac{a_ix^i}{i!} \cdot \frac{b_{n - i}x^{n - i}}{(n - i)!}) \\ &= \sum\limits_{n = 0}^{\infty} (\sum\limits_{i = 0}^{\infty} {n \choose i} a_i b_{n - i}) \frac{x^n}{n!} \end{aligned} \]

其意义是从集合 \(A\) 和集合 \(B\) 中分别选出 \(a\) 个和 \(b\) 个组成有序的序列的个数。

posted @ 2020-02-08 15:41  wasa855  阅读(184)  评论(0编辑  收藏  举报