Catalan数

来源:互联网 发布:上古5ece捏脸数据1.4 编辑:程序博客网 时间:2024/05/01 05:42

Catalan

1.递推公式: f(n)=    f(0)=1,f(1)=1;

2.组合公式1f(n)=  

3组合公式2f(n)= -  

应用举例:

1.  二叉树有n个结点,问:该二叉树能组成多少种不同的形态

2.  nAnB排成一排,从第一个位置开始到任何位置,B的个数不能超过A的个数,问有多少种排列方式。

 n=1时:AB                                                            1

 n=2时:ABAB  AABB                                                  2

 n=3时:AAABBBB  AABABB  AABBAB  ABAABB  ABABAB            5

3.乘法加括号。对于连乘:a1*a2*……*an,加了括号后可以改变它的运算顺序。问:有多少种不同的运算顺序?

a1*a2*……*an,当做一颗二叉树来处理,将*逐个作为根,得:

f(0)*f(n-1)+f(1)*f(n-2)+f(2)*f(n-3)+…+f(i)*f(n-i-1)+….f(n-1)*f(0)

可以用组合公式2求解。

4.欧拉多边形分割问题

设有一个凸n边形,可用n-3条不相交的对角线将n边形分成n-2个互相没有重叠的三角形。

:当给出凸n边形的边数nn<=1000),共有多少种不同的分法。(需要用高精计算)

  分析:按照某种顺序给凸边形的各个顶点编号为V1V2 …… Vn。边V1Vn在最终的剖分中一定恰好属于某一个三角形V1VnVk,所以可以根据k进行分类。不难看出,三角形的左边是一个k边形,右边是一个n-k+1边形。根据乘法原理,包含三角形V1VnVk的方案数为:ff(k)*ff(n-k+1)

ff(n)=ff(2)*ff(n-1) + ff(3)*ff(n-2)+…+ff(n-1)*ff(2)

ff(3)=ff(2)=1   ff(4)=2   ff(5)=5

Catalan :f(n) =   f(0)=1  f(1)=1;   f(2)=2   ;f(3)=5;

凸边形的ff(3)对应Catalan数的f(1) . ff(n)=f(n-2);   

原创粉丝点击