生成函数详解

生成函数(母函数)详解

预备知识

广义二项式定理

广义二项式定理是把一般的二项式定理从整数域推广到了实数域

定义:

\[C_{\alpha}^{k}=\begin{cases} \frac{\alpha(\alpha-1)(\alpha-2) \dots (\alpha-k+1)}{k!},k>1 \\ 1,k=0 \\ 0,k<0 \end{cases}(k \in \mathbb{Z},\alpha \in \mathbb{R})\]

那么有

\[(x+y)^{\alpha}=\sum_{k=0}^{\infin} C_{\alpha}^{k} x^{\alpha-k}y^k (\alpha \in \mathbb{R})\]

推论:

(1) \[(x+y)^n=\sum_{k=0}^{n} C_{n}^{k} x^{n-k}y^k (n \in \mathbb{N^+})\]

容易看出,这就是一般的二项式定理。

​ 证明:拆成两部分

\[ \begin{aligned} (x+y)^n &=\sum_{k=0}^{\infin} C_{n}^{k} x^{n-k}y^k \\ &=\sum_{k=0}^{n} C_{n}^{k} x^{n-k}y^k+ \sum_{k=n+1}^{\infin} C_{n}^{k} x^{n-k}y^k\end{aligned}\]

注意到当\(n,k \in \mathbb N\),且\(n<k\)时,\(\frac{n(n-1)(n-2) \dots (n-k+1)}{k!}\)的分子中一定有一项是0,所以\(C_n^k=0\)

那么\((x+y)^n=\sum_{k=0}^{n} C_{n}^{k} x^{n-k}y^k (n \in \mathbb{N^+})\)

(2) \[(x+y)^{-n}=\sum_{k=0}^{\infin} (-1)^k C_{n+k-1}^{n-1} x^{n-k}y^k (n \in \mathbb{N^+})\]

证明:

\[\begin{aligned} C_{-n}^{k} &=\frac{(-n)(-n-1)(-n-2) \dots (-n-k+1)}{k!} \\ &= (-1)^k \frac{n(n+1)(n+2) \dots (n+k-1)}{k!} \\ &=(-1)^k C_{n+k-1}^{k}=(-1)^k C_{n+k-1}^{n-1}\end{aligned}\]

代入广义二项式定理的表达式,

\[(x+y)^{-n}=\sum_{k=0}^{\infin}(-1)^k C_{n+k-1}^{n-1} x^{n-k}y^k (n \in \mathbb{N^+})\]

形式幂级数

定义\[A(x)=a_0+a_1x+a_2x^2+\dots+a_nx^n+\dots=\sum_{i=0}^{\infty} a_ix^i\]为以x为未定元的一个形式幂级数。在形式幂级数中,我们不关心x的取值和级数是否收敛,把x作为形式,只关心系数。

再介绍一下形式幂级数的基本运算,下面会用到。

加法就是把对应项的系数相加

\[A(x)+B(x)=\sum_{n=0}^{\infty} (a_n+b_n)x^n\]

乘法和多项式乘法类似

\[A(x) \cdot B(x)=\sum_{n=0}^{\infty} \sum_{k=0}^n a_kb_{n-k}\]

普通生成函数(OGF)

定义

对于一个序列\(a\),我们定义\(f(x)=\sum_{n=0}^{\infty} a_nx^n\)\(a\)的生成函数(又叫母函数).\(f(x)\)是一个形式幂级数。至于是有限项还是无限项在做题中影响不大,只要按照题目意义做就可以了。

比如序列\(1,2,3\)的生成函数就是\(1+2 \times x^2+3 \times x^3\)

生成函数可以帮我们解决一些计数问题。

有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量?每种重量各有几种可能方案(选的砝码种类不同,或个数不同看成不同方案)?

每个砝码可以选或不选,不选看成1,选看成\(x^i\)

那么生成函数就是

\[\begin{aligned} f(x) &=(1+x^1)(1+x^2)(1+x^3)(1+x^4)\\ &=1+x+x^2+2x^3+2x^4+2x^5+2x^6+2x^7+x^8+x^9+x^{10} \end{aligned}\]

发现指数表示重量,系数表示方案数。比如\(2x^6\)表示凑出重量6有两种方案,分别是\(x^1x^2x^3\)\(x^2x^4\),即1g,2g,3g砝码或2g,4g砝码。因此,在用生成函数解决计数问题时,指数往往表示某种条件,而系数表示该条件下的方案数

求用1分、2分、3分的邮票贴出不同数值的方案数

这个问题的生成函数就是无限项的。

\(g(x)=(1+x+x^2+x^3+...)(1+x^2+x^4+x^6+...)(1+x^3+x^6+x^9+...)\)

我们要求贴出数值4的方案数,那就要求出\(x^4\)的系数

常见的OGF

等比数列形式

\(a={1,1,1,1,1 \dots}, \ f(x)=1+x+x^2+x^3+\dots=\frac{1}{1-x}\)

证明:

这是一个公比为\(x\)的等比数列求和的形式,那么\(f(x)=\frac{1-x^n}{1-x}\),当\(n \to + \infin\)时,\(x^n \to 0,f(x ) \to \frac{1}{1-x}\).因此我们可以写成\(f(x)=\frac{1}{1-x}\),因为式子中x的取值无意义。

同理有\(f(x)=1+x^2+x^4+x^6+\dots=\frac{1}{1-x^2}\)

\(f(x)=\sum_{n=0}^{\infty}x^{kn}=\frac{1}{1-x^{k}}\)

组合数形式

\(a=1,2,3,4,5 \dots , \ f(x)=1+x+2x^2+3x^3+\dots=\frac{1}{(1-x)^2}\)

证明:

根据上面提到的多项式乘法的性质

\(\begin{aligned} 1+x+2x^2+3x^3+\dots&=(1+x+x^2+x^3+\dots)(1+x+x^2+x^3+\dots) \\&=\frac{1}{1-x}\cdot \frac{1}{1-x}=\frac{1}{(1-x)^2} \end{aligned}\)

容易发现\(1 + 3x + 6x^2 + 10x^3 + 15x^4...=\frac{1}{(1-x)^3}\)。实际上,我们有:

\[\frac{1}{(1-x)^n}=\sum_{i=0}^{\infty} C_{i+n-1}^{n-1} x^i (n \in \mathbb{N}^+)\]

证法一(组合意义):

我们发现第i项系数就是从k个\((1+x+x^2+x^3+\dots)\)中每个选出一项,乘起来恰为\(x^i\)的方案数。那么问题就变成了\(i=x_1+x_2+ \dots x_k\)的解的组个数。这是组合数学里插板法的经典问题。即把i个相同物品分到k个不同的盒子里面,允许盒子为空。答案是\(C_{i+k-1}^{k-1}\)

证法二(广义二项式定理):

根据我们已经证明的推论(2),

\[(x+y)^{-n}=\sum_{k=0}^{\infin}(-1)^k C_{n+k-1}^{n-1} x^{n-k}y^k (n \in \mathbb{N^+})\]

\[\begin{aligned}\frac{1}{(1-x)^n}&=(1-x)^{-n} \\ &=\sum_{k=0}^{\infin}(-1)^k C_{n+k-1}^{n-1}(-x)^k \\ &=\sum_{k=0}^{\infin}(-1)^k C_{n+k-1}^{n-1}x^k(-1)^k \\ &=\sum_{k=0}^{\infin}(-1)^{2k} C_{n+k-1}^{n-1}x^k\end{aligned}\]

显然\((-1)^{2k}=1\)

\[\therefore \frac{1}{(1-x)^n}=\sum_{i=0}^{\infty} C_{i+n-1}^{n-1} x^i \]

运用OGF推导数列通项

斐波那契数列

斐波那契数列\(F\)满足\(F_n=F_{n-1}+F_{n-2} (n \geq 3),F_1=F_2=1\).

那么它的生成函数\(f(x)=x+x^2+2x^3+3x^4+5x^5 \dots\)

常见套路,类似推导等比数列求和公式,错位相减

\(xf(x)=x^2+x^3+2x^4+3x^5+\dots\)

\(f(x)-xf(x)=x+x^3+x^4+2x^5+3x^6=x+x^2f(x)\)

移项,得\((x^2-x+1)f(x)=x\),对\(x^2-x+1\)在实数范围内因式分解,那么

\[f(x)=\frac{x}{x^2-x+1}=\frac{x}{(1-\frac{1-\sqrt{5}}{2}x)(1-\frac{1+\sqrt{5}}{2}x)}\]

注意到\[ \frac{1}{(1-\frac{1+\sqrt{5}}{2}x)}-\frac{1}{(1-\frac{1-\sqrt{5}}{2}x)}=\frac{\sqrt{5}x}{(1-\frac{1-\sqrt{5}}{2}x)(1-\frac{1+\sqrt{5}}{2}x)}\]

\[ \begin{aligned}\therefore f(x)&= \frac{1}{\sqrt{5}} [ \frac{1}{(1-\frac{1+\sqrt{5}}{2}x)}-\frac{1}{(1-\frac{1-\sqrt{5}}{2}x)}] \\ &= -\frac{1}{\sqrt5}\frac{1}{(1-\frac{1-\sqrt5}{2}x)} + \frac{1}{\sqrt5}\frac{1}{(1-\frac{1+\sqrt5}{2}x)}\end{aligned}\]

注意到\((1-\frac{1-\sqrt5}{2}x)\)很像我们刚刚提到的等比数列形式中,\(f(x)=\frac{1-x^n}{1-x}=\frac{1}{1-x}\)的形式,那么生成函数中的公比就是\(\frac{1-\sqrt5}{2}x\).

写回数列形式:

\[F_n= -\frac{1}{\sqrt5}(\frac{1-\sqrt5}{2})^n + \frac{1}{\sqrt5}(\frac{1+\sqrt5}{2})^n\]

卡特兰数

定义\(c_n=\sum_{i=0}^{n-1} c_ic_{n-i-1},c_0=c_1=1\),生成函数\(g(x)=c_0+c_1x+c_2x^2+ c_3x^3 +\dots\)

\[\begin{aligned} g(x)\cdot g(x)&=c_0^2+(c_0c_1+c_1c_0)x+(c_0c_2+c_1c_1+c_2c_0)x^2+\dots\\ &=c_1+c_2x+c_3x^2+\dots \\ &=\frac{g(x)-c_0}{x} \\ &= \frac{g(x)-1}{x}\end{aligned}\]

\(\therefore x[g(x)]^2-g(x)+1=0\)

\(g(x)\)看作未知数,由求根公式得

\(g(x)=\frac{1\pm \sqrt{1-4x}}{2x}\)

代入检验,发现只有\(g(x)=\frac{1-\sqrt{1-4x}}{2x}\)满足条件。

\(\therefore g(x)=\frac{1}{2x}[1-(1-4x)^{\frac{1}{2}}]\)

根据广义二项式定理

\[\begin{aligned}(1-4x)^{\frac{1}{2}} &= \sum_{k=0}^{\infty} C_{\frac{1}{2}}^k (-4x)^k \\ &=\sum_{k=0}^{\infty} C_{\frac{1}{2}}^k (-1)^k2^{2k}x^k\end{aligned}\]

注意我们讨论组合数的时候最好分\(k=0\)\(k>0\)两种情况讨论,否则中间过程中可能会出现负数

\(k=0\)\(C_{\frac{1}{2}}^k (-1)^k2^{2k}x^k=1\ \ (\forall x \in \mathbb{R},C_{x}^0=1)\)

\[\begin{aligned} C_{\frac{1}{2}}^{k}&= \frac{\frac{1}{2}(\frac{1}{2}-1)(\frac{1}{2}-2) \dots (\frac{1}{2}-k+1)}{k!}\\ &=(-1)^{k-1} \frac{\frac{1}{2}\times \frac{1}{2} \times \frac{3}{2} \times \frac{5}{2} \cdots \frac{2k-3}{2}}{k!} \\ &=(-1)^{k-1} \frac{1 \times 1 \times 3 \times 5 \times \dots (2k-3)}{2^kk!} \\ &=(-1)^{k-1} \frac{\frac{1 \times 2 \times 3 \times 4 \times 5 \times \dots (2k-2)}{2 \times 4 \times 8 \times \dots (2k-2)}}{2^kk!} \\ &= (-1)^{k-1}\frac{\frac{(2k-2)!}{2^{k-1}(k-1)!}}{2^kk!} \\ &=\frac{(-1)^{k-1}}{2^{2k-1}} \cdot \frac{(2k-2)!}{k!(k-1)!} \\ &=\frac{(-1)^{k-1}}{2^{2k-1}} \cdot \frac{1}{k} \cdot \frac{(2k-2)}{(k-1)!(k-1)!} \\ &=\frac{(-1)^{k-1}}{2^{2k-1}} \cdot \frac{1}{k}\cdot C_{2k-2}^{k-1} \end{aligned}\]

回代,得

\[\begin{aligned}(1-4x)^{\frac{1}{2}} &= 1+\sum_{k=1}^{\infty} C_{\frac{1}{2}}^{k} (-1)^k 2^{2k} x^k\\ &=1+\sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{2^{2k-1}} \cdot \frac{1}{k}\cdot C_{2k-2}^{k-1} \cdot (-1)^k 2^{2k} x^k \\ &=1+\sum_{k=1}^{\infty}(-1) \times 2 \times \frac{1}{k} C_{2k-2}^{k-1}x^k \\ &= 1-2\sum_{k=1}^{\infty} \frac{1}{k} C_{2k-2}^{k-1}x^k\end{aligned}\]

\[\begin{aligned} g(x) &=\frac{1}{2x}[1-(1-4x)^{\frac{1}{2}}] \\ &= \frac{1}{2x} (2\sum_{k=1}^{\infty} \frac{1}{k} C_{2k-2}^{k-1}x^k) \\ &= \sum_{k=1}^{\infty} \frac{1}{k} C_{2k-2}^{k-1} x^{k-1}\end{aligned}\]

注意到\(x^{k-1}\)的系数是\(\frac{1}{k} C_{2k-2}^{k-1} x^{k-1}\),那么\(x^k\)的系数就是\(\frac{1}{k+1} C_{2k}^{k} x^k\)

因此第\(n\)项的系数为\(\frac{C_{2n}^n}{n+1}\)

卡特兰数的通项公式为:

\[c_n=\frac{C_{2n}^{n}}{n+1}\]

转载于:https://www.cnblogs.com/birchtree/p/11575252.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值