zoukankan      html  css  js  c++  java
  • 卡特兰数

    部分摘自wxh学长课件......

    {

      卡特兰数是组合数学中经常出现在计数问题的数列,

      满足:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2)

      另一种递推公式:h(n)=h(n-1)*(4*n-2)/(n+1)

      通项公式:h(n)=C(2*n,n)-C(2*n,n-1)              h(n)=C(2*n,n)/(n+1)              h(n)=1/n*C(2*n-2,n-1);

    }

    对于以上式子理解:

    {

      h(n)第一个递推式主要可以用来判定这个式子或题是否是catalan数。(反正我是用组合数推不出来。)。

      h(n)第一个递推式是基础,第二个可以用来线性递推一下

      通向公式第3个和第2个可以直接求出特定的h值。   第一个感觉可以用来在组合数已经求出来的情况下比较快速计算出。
    }

    注意点:1.n>=2          2.组合数是否取模—>能否用C直接求;

    应用:

    {

      出栈次序;—>设第k个数最后一次出栈将问题确定化缩小化,感觉这里的思想比较优秀。

      括号匹配;

      二叉树计数;   ->给节点组成二叉树。

      有限制的网格路径数
    }

    证明:

    {

      用到了一个叫生成函数的东西。

      发正我现在是看不懂....................

      https://blog.csdn.net/acdreamers/article/details/7628667                     先屯起来。
    }

    个人遇到出栈次序上的问题

    {

      一直想知道为什么是h(n),也就是卡特兰数;

      然后发现其实是推出f(n)=f(k-1)*f(n-k),也就是推出了一个符合catalan数性质的式子由此发现其是catalan数。
    }

  • 相关阅读:
    C#的默认访问权限
    隐藏基类成员
    索引指示器的重载
    索引指示器
    vector
    string 函数
    细胞个数
    计蒜客 T1096 石头剪刀布
    计蒜客 T1125 判断字符串是否为回文
    计蒜客 T1152 成绩排序
  • 原文地址:https://www.cnblogs.com/three-D/p/11221996.html
Copyright © 2011-2022 走看看