用生成函数推导数列的通项公式
约定:
(C_a^b)和(a choose b)意义相同
(a!)表示(a)的阶乘
预备知识
广义二项式定理
广义二项式定理是把一般的二项式定理从整数域推广到了实数域
定义:
那么有
推论:
推论1 $$(x+y)^n=sum_{k=0}^{n} C_{n}^{k} x^{n-k}y^k (n in mathbb{N^+}) ag{1.1.3}$$
容易看出,这就是一般的二项式定理。
证明:拆成两部分
注意到当(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^+}) ag{1.1.4}$$
证明:
代入广义二项式定理的表达式,
形式幂级数
定义$$A(x)=a_0+a_1x+a_2x^2+dots+a_nx^n+dots=sum_{i=0}^{infty} a_ix^i$$为以x为未定元的一个形式幂级数。在形式幂级数中,我们不关心x的取值和级数是否收敛,把x作为形式,只关心系数。
再介绍一下形式幂级数的基本运算,下面会用到。
加法就是把对应项的系数相加
乘法和多项式乘法类似
普通生成函数(OGF)
定义
对于一个序列(a),我们定义(f(x)=sum_{n=0}^{infty} a_nx^n)为(a)的生成函数(又叫母函数).(f(x))是一个形式幂级数。至于是有限项还是无限项在做题中影响不大,只要按照题目意义做就可以了。
比如序列(1,2,3)的生成函数就是(1x^1+2 imes x^2+3 imes x^3)
生成函数可以帮我们解决一些计数问题。
有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量?每种重量各有几种可能方案(选的砝码种类不同,或个数不同看成不同方案)?
每个砝码可以选或不选,不选看成1,选看成(x^i)
那么生成函数就是
发现指数表示重量,系数表示方案数。比如(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)的系数.可以根据式((1.2.2))求出
常见的OGF
等比数列形式
(a={1,1,1,1,1 dots}, f(x)=1+x+x^2+x^3+dots=frac{1}{1-x} ag{2.1.1})
证明:
这是一个公比为(x)的等比数列求和的形式,那么(f(x)=frac{1-x^n}{1-x}),当(n o + infin)时,(x^n o 0,f(x ) o 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} ag{2.1.2})
证明:
根据上面提到的多项式乘法的性质
(egin{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}^+) ag{2.1.3} ]
证法一(组合意义):
我们发现第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})
证法二(广义二项式定理):
根据我们已经证明的推论((1.1.4)),
显然((-1)^{2k}=1),代入式((2.1.4))
运用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)在实数范围内因式分解,那么
注意到$$ 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)}$$
注意到((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 ag{2.2.3} ]
卡特兰数
卡特兰数的定义如下(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)
( herefore x[g(x)]^2-g(x)+1=0)
把(g(x))看作未知数,由求根公式得
(g(x)=frac{1pm sqrt{1-4x}}{2x})
当(g(x)=frac{1+sqrt{1-4x}}{2x})时,我们把分子有理化,根式乘到分母(这是检验的一般套路)
(g(x)=frac{4x}{2x(1-sqrt{1-4x})}=frac{2}{1-sqrt{1-4x}})
当(x=0)的时候分母为0,无意义,因此这个根舍去
同理检验另一个根,发现只有(g(x)=frac{1-sqrt{1-4x}}{2x})满足条件。
根据广义二项式定理((1.1.2))
注意我们讨论组合数的时候最好分(k=0)和(k>0)两种情况讨论,否则中间过程中可能会出现((-1)!)之类的情况
当(k=0)时(C_{frac{1}{2}}^k (-1)^k2^{2k}x^k=1) (根据定义式((1.1.1))得$ forall x in mathbb{R},C_{x}^0=1$)
代入((2.2.5)),得
代入((2.2.4))
注意到(x^{k-1})的系数是(frac{1}{k} C_{2k-2}^{k-1}),那么(x^k)的系数就是(frac{1}{k+1} C_{2k}^{k})
因此第(n)项的系数为(frac{C_{2n}^n}{n+1})
卡特兰数的通项公式为:
[c_n=frac{C_{2n}^{n}}{n+1} ag{2.2.9} ]