卡特兰数
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 栈
题目大意:入栈顺序为
1 2 3 4 5 6 7 8 9 10 11 12 13 | // C++ Version
#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;
}
|
1 2 3 4 5 6 7 8 | # Python Version
f = [0] * 25
f[0] = 1
n = int(input())
for i in range(1, n + 1):
f[i] = int(f[i - 1] * (4 * i - 2) // (i + 1))
# 这里用的是常见公式2
print(f[n])
|
路径计数问题¶
非降路径是指只能向上或向右走的路径。
-
从
(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}
build本页面最近更新:,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:OI-wiki
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用