卡特兰数最常见的描述就是2n个球进站出站有多少种顺序
推导:折线法,问题转化为从 (0,0)到(2n,0) 每次可以向右上或者右下走一波,问在不越过 y=0 这条线的情况下,有多少种走法。

所以可以根据总数减去非法数
总数很明显是 cn2n
非法数可以这样算。如果这个过程非法,这条线一定会碰到 y=−1 这样我们可以取折线第一次喷到直线 y=−1 的点。然后的折线对 y=−1 做对称,这样所有的点最终都会汇聚到 (2n,−2) 这样总数就有 Cn−12n
所以最终结果就是 cn2n−Cn−12n
化简后很容易得到
cn2nn+1
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226506.html原文链接:https://javaforall.net
