首页 > 其他分享 >$Catalan$ 数

$Catalan$ 数

时间:2023-08-28 17:35:39浏览次数:39  
标签:出栈 Catalan 二叉树 序列 2n 节点

前 \(10\) 项为:\(1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862\)


递推公式

\(tip:\) 在 \(n=17\) 时 \(Catalan\) 数就会超过 \(int\) 范围。

\[C_1=1 \]

\[C_n=C_{n-1}\frac{4*n-2}{n+1} \]


出栈问题

一个栈的入栈顺序为 \(1,2,3,\ldots ,n\) 时,出栈顺序有多少种?

栈中每个元素需要经历入栈出栈,所以会有 \(2n\) 个操作,记入栈为 \(+1\) ,出栈为 \(-1\) ,那么每个合法操作顺序每个前缀和必须 \(\ge0\) 。如果直接求显然不方便,那么正难则反。如果当前 \(n\) 非法,那么需要在所有的 \(C_{2n}^{n}\) 情况中,去掉 \(C_{2n}^{n+1}\) 个非法序列(因为非法序列相当于在 \(n+1\) 个位置放置 \(-1\) ,在 \(n-1\) 个位置放置 \(+1\) )。\(C_{2n}^{n}-C_{2n}^{n+1}=\frac{C_{2n}^{n}}{n+1}\) 此时就得到了 \(Catalan\) 数。


括号问题

\(n\) 对括号能构成多少种合法序列?

很显然与出栈问题相同,答案就是 \(Catalan\) 数。


满二叉树问题

\(n+1\) 个节点可以构成多少种满二叉树?

对于每个节点要么子节点为空,要么同时存在两个节点,如果把左儿子看作 \(+1\) , 右儿子看作 \(-1\) ,那么又与出栈问题相同。






标签:出栈,Catalan,二叉树,序列,2n,节点
From: https://www.cnblogs.com/edgrass/p/17662918.html

相关文章

  • Catalan数和Stirling数
    Catalan数Catalan数的计算公式是:c(2n,n)/n+1它有3个公式,分别是Cn=c(2n,n)/n+1、Cn=C0Cn-1+C1Cn-2+......+Cn-1C0、Cn=Cn-1(4n+2)/(n+1)Catalan数的应用十分广泛,有棋盘问题、括号问题、出栈序列问题等下面给出两道求解Catalan数的例题:P2532[AHOI2012]树屋阶梯由于数据非常......
  • 卡特兰数(Catalan number)
    Catalan数列目录目录Catalan数列目录定义Number说明表示1.递推定义2.递推关系3.通项公式4.通项公式II证明1.公式42.公式13.公式34.公式2证毕推荐链接定义Numbe......
  • 【XSY4320】Catalan(组合意义,DP,多项式)
    题面:Catalan题解:假瑞的做法orz考虑用组合意义来做,观察递推式\(f_i=\frac{1}{i}\sum_{j=0}^{i-1}f_jf_{i-j-1}\),它除了和卡特兰数递推式很像之外,还和二叉树计数的递推......