卡特兰数
Catalan 数列¶
以下问题属于 Catalan 数列:
- 有
2n n n - 一位大城市的律师在她住所以北
n n 2n - 在圆上选择
2n n - 对角线不相交的情况下,将一个凸多边形区域分成三角形区域的方法数?
- 一个栈(无穷大)的进栈序列为
1,2,3, \cdots ,n n n +1 n -1 2n a_1,a_2, \cdots ,a_{2n} a_1+a_2+ \cdots +a_k \geq 0(k=1,2,3, \cdots ,2n) n
其对应的序列为:
... | |||||||
---|---|---|---|---|---|---|---|
1 | 1 | 2 | 5 | 14 | 42 | 132 | ... |
(Catalan 数列)
递推式¶
该递推关系的解为:
关于 Catalan 数的常见公式:
例题洛谷 P1044 栈
题目大意:入栈顺序为
#include <iostream>
using namespace std;
int n;
long long f[25];
int main() {
f[0] = 1;
cin >> n;
for (int i = 1; i <= n; i++) f[i] = f[i - 1] * (4 * i - 2) / (i + 1);
// 这里用的是常见公式2
cout << f[n] << endl;
return 0;
}
路径计数问题¶
非降路径是指只能向上或向右走的路径。
-
从
(0,0) (m,n) m x n y \dbinom{n + m}{m} -
从
(0,0) (n,n) y=x 先考虑
y=x (0, 0) (1, 0) (n, n-1) (n,n) (1,0) (n,n-1) y=x 所有的的非降路径有
\dbinom{2n-2}{n-1} y=x (1,0) y=x (0,1) (n,n-1) y=x \dbinom{2n-2}{n-1} - \dbinom{2n-2}{n} 2\dbinom{2n-2}{n-1} - 2\dbinom{2n-2}{n} -
从
(0,0) (n,n) y=x 用类似的方法可以得到:
\dfrac{2}{n+1}\dbinom{2n}{n}
buildLast update and/or translate time of this article,Check the history
editFound smelly bugs? Translation outdated? Wanna contribute with us? Edit this Page on Github
peopleContributor of this article OI-wiki
translateTranslator of this article Visit the original article!
copyrightThe article is available under CC BY-SA 4.0 & SATA ; additional terms may apply.