zoukankan      html  css  js  c++  java
  • 用生成函数推导数列的通项公式

    用生成函数推导数列的通项公式

    约定:

    (C_a^b)(a choose b)意义相同

    (a!)表示(a)的阶乘

    预备知识

    广义二项式定理

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

    定义:

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

    那么有

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

    推论:

    推论1 $$(x+y)^n=sum_{k=0}^{n} C_{n}^{k} x^{n-k}y^k (n in mathbb{N^+}) ag{1.1.3}$$

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

    证明:拆成两部分

    [egin{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^kend{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^+}) ag{1.1.4}$$

    证明:

    [egin{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 ag{1.2.1} ]

    乘法和多项式乘法类似

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

    普通生成函数(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)

    那么生成函数就是

    [egin{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)的系数.可以根据式((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)),

    [(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{2.1.4} ]

    [egin{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^kend{aligned} ag{2.1.5} ]

    显然((-1)^{2k}=1),代入式((2.1.4))

    [ herefore 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)} ag{2.2.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)}$$

    [egin{aligned} herefore 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} ag{2.2.2} ]

    注意到((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)

    [egin{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} ]

    ( 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})满足条件。

    [ herefore g(x)=frac{1}{2x}[1-(1-4x)^{frac{1}{2}}] ag{2.2.4} ]

    根据广义二项式定理((1.1.2))

    [egin{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^kend{aligned} ag{2.2.5} ]

    注意我们讨论组合数的时候最好分(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$)

    [egin{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} imes frac{1}{2} imes frac{3}{2} imes frac{5}{2} cdots frac{2k-3}{2}}{k!} \ &=(-1)^{k-1} frac{1 imes 1 imes 3 imes 5 imes dots (2k-3)}{2^kk!} \ &=(-1)^{k-1} frac{frac{1 imes 2 imes 3 imes 4 imes 5 imes dots (2k-2)}{2 imes 4 imes 8 imes 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} ag{2.2.6} ]

    代入((2.2.5)),得

    [egin{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) imes 2 imes frac{1}{k} C_{2k-2}^{k-1}x^k \ &= 1-2sum_{k=1}^{infty} frac{1}{k} C_{2k-2}^{k-1}x^kend{aligned} ag{2.2.7} ]

    代入((2.2.4))

    [egin{aligned} g(x) &=frac{1}{2x}[1-(1-4x)^{frac{1}{2}}] \ &= frac{1}{2x} (2sum_{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} ag{2.2.8} ]

    注意到(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} ]

  • 相关阅读:
    陶瓷电容的结构、工艺、失效模式
    Vue.js最佳实践
    Vue 超快速学习
    CSS 小技巧
    HTML5 Canvas
    webkit下面的CSS设置滚动条
    Some untracked working tree files would be overwritten by checkout. Please move or remove them before you can checkout. View them
    JSCS: Please specify path to 'JSCS' package
    React中ref的使用方法
    React 60S倒计时
  • 原文地址:https://www.cnblogs.com/birchtree/p/11575252.html
Copyright © 2011-2022 走看看