• 卡塔兰数



    一、定义和公式:
    ----------------------------------------------------------------------------------------
    令h(0)=1,h(1)=1,catalan数满足递推式 :
    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(2n,n)/(n+1) (n=0,1,2,...)**

    递推关系的另类解为:

    **h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,...)**


    二、具体问题:
    ----------------------------------------------------------------------------------------------------------------------------------
    1.对于在n位的2进制中,有m个0,其余为1的catalan数为:C(n,m)-C(n,m-1)

    2.矩阵连乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)

    3.一个栈(无穷大)的[进栈] 序列为1,2,3,…,n,有多少个不同的出栈序列?

    4.在一个[凸多边形] 中,通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。任务是键盘上输入凸多边形的边数n,求不同划分的方案数f(n)=h(n-2) (n是边数,边数大于3)

    5.给定N个[节点] ,能构成多少种不同的[二叉搜索树]
    (能构成h(N)个)

    6.给定n对括号,求括号正确配对的字符串数,例如:
    0对括号:[空序列] 1种可能
    1对括号:() 1种可能
    2对括号:()() (()) 2种可能
    3对括号:((())) ()(()) ()()() (())() (()()) 5种可能
    那么问题来了,n对括号有多少种正确配对的可能呢?
    h(n)

    7.有n个1和m个-1(n>=m),共n+m个数排成一列,满足对所有0<=k<=n+m的前k个数的部分和Sk >= 0的排列数?
    C (n+m, m) - C (n+m, m-1)

  • 相关阅读:
    SSO单点登录的实现原理
    Svn服务器的安装和配置
    Linux平台上搭建apache+tomcat负载均衡集群
    js验证textarea里面是否有换行符
    js 正则验证url
    markdown
    php解决中文乱码
    html文本框和按钮这些点击时不显示边框的光晕
    js去掉字符串前后以及中间的空格
    用ssh-key-gen 在本地主机上创建公钥和密钥
  • 原文地址:https://www.cnblogs.com/JJsnow/p/9968793.html
Copyright © 2020-2023  润新知