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

    浅谈卡特兰数

    本篇随笔浅谈一下数学中的卡特兰数。

    卡特兰数博大精深,由于博主时间、精力、水平都非常非常有限,所以只挑干货讲。


    引入:

    给定(n)个0,(n)个1,按某种顺序排成长度为(2n)的序列,求满足任意前缀中0的个数不少于1的个数的序列的数量。

    答案即卡特兰数。

    设第(i)项卡特兰数为(Cat_i),其通项公式为:

    [Cat_n=frac{C_{2n}^{n}}{n+1} ]


    常用的卡特兰数公式

    抄公式啦!

    [Cat_n=frac{C_{2n}^{n}}{n+1} ]

    [Cat_n=C_{2n}^{n}-C_{2n}^{n-1} ]

    [Cat_n=sum_{i=0}^{n-1}Cat_i imes Cat_{n-1-i} ]

    [Cat_n=Cat_{n-1} imes frac{4n-2}{n+1} ]


    卡特兰数的一些常见应用

    比如引入。

    (n)个0,(n)个1,组成的(2n)的序列,对于每个前缀都有0的个数不小于1的个数的序列个数。

    同理,括号匹配也可以用这个东西。就把0变成左括号,1变成右括号即可。

    也就是,(n)个左右括号组成的合法括号序列数量为(Cat_n)

    1-n经过一个栈,形成的合法出栈序列数量为(Cat_n)

    n个节点构成的不同二叉树数量为(Cat_n)

    在平面直角坐标系中,每一步只能向上走或者向右走,从((0,0))走到((n,m))并且除了两个端点外不接触(y=x)的路线数量为(2Cat_{n-1})

  • 相关阅读:
    HDU 1985 Conversions
    HDU 1708 Fibonacci String
    HDU 3501 Calculation 2
    HDU 4163 Stock Prices
    HDU 2391 Filthy Rich
    HDU 1996 汉诺塔VI
    HDU 2824 The Euler function
    HDU 1787 GCD Again
    HDU 2393 Higher Math
    HDU 1286 找新朋友
  • 原文地址:https://www.cnblogs.com/fusiwei/p/13751597.html
Copyright © 2011-2022 走看看