zoukankan      html  css  js  c++  java
  • Catalan Numbers

    递推关系:$C_n=C_0C_{n-1}+C_1C_{n-2}+\cdots+C_{n-2}C_{1}+C_{n-1}C_{0}$

    其中,$C_1=1,C_0=1$

    显示公式:$C_n=\frac{1}{n+1}C_{2n}^{n}$


    证明 $C_n=\frac{1}{n+1}C_{2n}^{n}$


    定理1:${-1/2 \choose n}=\frac{{2n \choose n}}{(-4)^n}$

    证明:用数学归纳法对 n 归纳。
    当 $n=1$ 时,${-1/2 \choose 1}=\frac{{2 \choose 1}}{-4}=-\frac{1}{2}$。
    假设 $n=k$ 时成立。
    当 $n=k+1$ 时,${-1/2 \choose k+1}=\frac{\left(\frac{-1}{2}\right)\times \cdots \times \left(\frac{-1}{2}-k+1\right) \times \left(\frac{-1}{2}-k\right)}{(k+1)!}=\frac{{2k \choose k}}{(-4)^k} \times \frac{-k-1/2}{k+1}=\frac{(2k) \times \cdots \times (k+1)}{(-4)^k \times (k+1)!} \times (-k-1/2)=\frac{(2k) \times \cdots \times (k+2)}{(-4)^{k+1}\times (k+1)!} \times 4(-k-1/2)(k+1)=\frac{C_{2k+2}^{k+1}}{(-4)^{k+1}}$。

    定理2:$(1-4x)^{-1/2}$ 的展开式中,$x^n$ 的系数是 ${2n \choose n}$

    证明:$(1-4x)^{-1/2}=\sum_{k=0}^{\infty}{-1/2 \choose k}(-4x)^k=\sum_{k=0}^{\infty}{\frac{{2k \choose k}}{(-4)^k}}(-4x)^k=\sum_{k=0}^{\infty}{2k \choose k}x^k$。

    定理3:Catalan Numbers 的生成函数 $G(x)=\frac{1-\sqrt{1-4x}}{2x}$

    证明:$G(x)=\sum_{k=0}^{\infty}{C_k x^k}$,因此 $G(x)^2=\sum_{k=0}^{\infty}(\sum_{j=0}^{k}C_jC_{k-j}) x^k=\sum_{k=0}^{\infty}C_{k+1}x^k$,因此 $xG(x)^2-G(x)+1=0$,因此 $G(x)=\frac{1-\sqrt{1-4x}}{2x}$ 或 $G(x)=\frac{1+\sqrt{1-4x}}{2x}$,因为 $G(x)$ 的每个系数都是大于0,因此 $G(x)=\frac{1-\sqrt{1-4x}}{2x}$。

    定理4:$G(x)=\sum_{n=0}^{\infty}{\frac{1}{n+1}{2n \choose n}x^n}$,$C_n=\frac{1}{n+1}C_{2n}^{n}$

    证明
    $\int_0^x (1-4t)^{-1/2} dt=-\frac{1}{4} \int_0^x (1-4t)^{-1/2} d(1-4t)=-\frac{1}{2}((1-4x)^{1/2}-1)=-\frac{(1-4x)^{1/2}-1}{2}=xG(x)=\sum_{k=0}^{\infty} C_k x^{k+1}$

    $\int_0^x (1-4t)^{-1/2} dt = \int_0^x \sum_{k=0}^{\infty}{2k \choose k}t^k dt=\sum_{k=0}^{\infty}\frac{1}{k+1}{2k \choose k}x^{k+1}$
    所以:$C_k=\frac{1}{k+1}{2k \choose k}$

    应用

    1、矩阵链乘
    Find a recurrence relation for $C_n$, the numbers of ways to parenthesize the product of n+1 numbers $x_0*x_1*x_2\cdots*x_n$ to specify the order of multiplication.

    2、出栈次序
    给定一个入栈次序:$1,2,3,\cdots,n$,问有多少种出栈次序?
    举个例子:如果入栈次序为1,2,则我们可以1进入,1出栈,2入栈,2出栈,这样出栈序列为1,2。
    设入栈记为1,出栈记为0,则入栈+出栈操作能够转化为长度为2n的01序列,而我们又可以把他转化为“矩阵链乘”问题,即1为左括号,0为右括号。

    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3114029.html
Copyright © 2011-2022 走看看