生成函数小记

普通型母函数##

母函数就是一列用来展示一串数字的挂衣架。
——赫伯特·唯尔夫 [1] 。

生成函数,又称母函数,是数学中,尤其是组合计数中重要的工具
定义如下:

对于任意数列{(a_n)},如果用如下函数联系起来:
(G(x) = a_0 + a_1 x^1 + a_2 x^2 + a_3 x^3+......+a_n x^n)
那么称(G(x))是数列{(a_n)}的生成函数

普通型母函数的一般形式:(G(x) = sum_{i = 0}^{infty} a_ix^i)

比较特别的
数列(C_n^0,C_n^1,C_n^2,......,C_n^n)的生成函数为(G(x) = (1 + x) ^ n)【二项式定理】

应用##

这个函数有什么作用呢?
最直观地说,可以用来组合计数

比如,你有硬币1元,2元,3元各一枚,你想知道能凑出什么面额,以及方案数
那么我们令(G(x) = (1 + x^1)(1 + x^2)(1 + x^3) = 1 + x^1 +x^2 + 2 * x^3 + x^4 + x^5 + x^6)
你会发现,展开后每一项的指数代表面额,其对应系数就是方案数

类似的,如果1元纸币有多枚,其括号内就可以写成((1+x^1+x^2+x^3+......+x^n)),分别表示1元硬币取0枚,1枚,2枚.......

再比如说,掷一次骰子,有(1,2,3,4,5,6)共6中情况
问掷n次的总和有哪些,各有多少种方案?
那么可以构造生成函数:
(G(x) = (x^1 + x^2 + x^3 + x^4 + x^5 + x^6)^n)
显然展开后就能得到答案

【更多的应用先留坑】

原文地址:https://www.cnblogs.com/Mychael/p/8660385.html