原文地址(跪gty orz):http://gaotianyu1350.gitcafe.io/2015/03/08/%E6%95%B0%E5%88%97/
//ps:已修正原文部分格式问题= =
//upd:有适当补充
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190
递推式 令$C_0=1$,卡特兰数满足递推式:
$$ C_n=\sum_{0<=i<n}C_iC_{n-i-1}, n \ge 1 $$
也满足:
$$ C_n=\frac{2(2n-1)}{n+1}C_{n-1} $$
一般公式
$$
C_n=\frac{1}{n+1}\binom{2n}{n}=\frac{(2n)!}{(n+1)!n!}
$$
另一种公式
$$ C_n=\binom{2n}{n}-\binom{2n}{n+1},n\ge 1 $$
$$ C_n\sim \frac{4^n}{n^{3/2}\sqrt \pi} $$
括号匹配 $n$对括号匹配的方案为$C_n$。分析同出栈序列
出栈序列 一个栈的进展序列为$1,2,3,…,n$,有多少个不同的出栈序列?有$C_n$种。
分析:设$n$个数字的时候的方案数为$f_n$。令最后一个出栈的数字为$k$,对于这一种情况,方案为$f_{k-1}f_{n-k}$。如果把所有$k$都枚举一遍再加起来,就会发现和卡特兰数的递推公式是一样的。
凸多边形三角划分 在一个凸多边形中(边数为$n$),通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。方案数为$C_{n-2}$。
分析:设边数为$n$的方案数为$f_n$。对点从$1$到$n$标号,然后选择一个点$k$($1<k<n$),$1,k,n$三个点构成一个三角形,这个三角形把多边形分成了两个部分——一个部分有$k$个点,一个部分有$n-k+1$,方案数为$f_kf_{n-k+1}$。发现$f_n$和$C_{n-2}$是相同的。
二叉树构成 给定$n$个节点,能构成多少种不同的二叉树?$C_n$个。
所有在$n \times n$格点中不越过对角线的单调路径的个数为$C_n$。(可以把向上走理解为左括号,向右走理解为右括号,不能越过对角线理解为括号序列合法)。
在圆上选择$2n$个点,将这些点成对连接起来使得所得到的$n$条线段不相交的方案数为$C_n$(和括号匹配是一个意思)。
更多例子见Wiki百科-卡特兰数
$n$个左括号$m$个右括号($n>m$),合法的括号序列个数,任意时刻必须保证左括号剩余的个数大于$0$。(从$(0,0)$走到$(n,m)$不穿过对角线$x=y$)
分两种情况:
①走$(1,0)$,一定不合法。方案数$\binom{n+m-1}{m-1}$。
②走$(0,1)$,有两种情况:A.合法。B.不合法。其中不合法的方案,将它穿过对角线之前的路线关于对角线翻折,一定能和某一个①中的方案重合,所以方案数为$\binom{n+m-1}{m-1}$。
总方案数为$\binom{n+m}{m}-2\binom{n+m-1}{m-1}$。
$n$个左括号$m$个右括号($n>m$),合法的括号序列个数。(从$(0,0)$走到$(n,m)$不穿过对角线$x=y$(可以经过对角线))
将上面那个问题中的$n$加上一就可以了。
总方案数$ \binom{n+m+1}{m}-2\binom{n+m}{m-1}$
$s(n,k)$或$\left[ n,k \right]$的绝对值表示$n$个人分成$k$组,每组内再进行环上排列(也就是说通过旋转一样的方案算作相同方案)的方案数。
$s(n,0)=0,s(1,1)=1$,有递推关系
$$ \left|s(n,k)\right|=\left|s(n-1,k-1)\right|+(n-1)\left|s(n-1,k)\right| $$
关于符号:
$$ s(n,k)=(-1)^{n+k}\left|s(n,k)\right| $$
$s(n,k)$是递降阶乘多项式的系数:
$$x^{\underline{n}} = x(x-1)(x-2)\ldots(x-n+1) = \sum_{k=1}^n s(n,k)x^k$$
特殊情况:
$S(n,k)$或$\{ n,k \}$表示$n$个人分成$k$组的方案数(每个组必须有人)。
$S(n,n)=S(n,1)=1$,有递推关系:
$$ S(n,k)=S(n-1,k-1)+kS(n-1,k) $$
几个公式:
更多见Wiki百科-斯特灵数
$B_n$为$n$个元素的集合划分方案数。($B_0=1$)
1,1,2,5,15,52,203……
$$ B_n=\sum_{k=0}^{n-1}\binom{n-1}{k}B_k $$
和斯特林数(二)的关系:
$$ B_n=\sum_{i=1}^{n}S(n,i) $$
$$
\begin{array}{cccccccccccccccccc}
1 \\
1 & & 2 & & & & & & &\\
2 & & 3 & & 5 & & & & & &\\
5 & & 7 & & 10 & & 15 & & & & &\\
15 & & 20 & & 27 & & 37 & & 52 & & & &\\
52 & & 67 & & 87 & & 114 & & 151 & & 203 & & &\\
203 & & 255 & & 322 & & 409 & & 523 & & 674 & & 877 & &\\
877 & & 1080 & & 1335 & & 1657 & & 2066 & & 2589 & & 3263 & & 4140 &\\
& & & & &\vdots & & & & \vdots & & & & \vdots& & & & \\
\end{array}
$$
更多见Wiki百科-贝尔数