Catalan数列

本文介绍了Catalan数列的定义及其递推公式,并通过多个实例展示了Catalan数列在不同场景中的应用,包括分隔凸多边形、剧场找零问题、律师上下班路径等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Catalan数列

Catalan公式:

 f(n)=f(1)*f(n-1)+f(2)*f(n-2)+f(3)*f(n-3)+......+f(n-1)*f(1)

 前16个:1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 (在处理数据的过程中应该用到高精度)

看下面例题:

将一个凸多边形区域分成三角形区域的方法数?

令hn表示具有n+1条边的凸多边形区域分成三角形的方法数。同时令h1=1,则hn满足递推关系

hn=h1hn-1+h2hn-2+...+hn-1h1(n>=2)

该递推关系的解为hn=c(2n-2,n-1)/n (n=1,2,3,...)

其对应的序列为1,1,2,5,14,42,132,....从第二项开始分别是三边形,四边形,...的分法数,即k边形分成三角形

的方法数为hk=c(2k-4,k-2)/(k-1)(k>=3)

Cn=c(2k,k)/(k+1)  (k>=0,n=k+1)    对应的序列为1,1,2,5,14,42,132,...

序列1,1,2,5,14,42,132,....叫Catalan数列。

下列问题都是Catalan数列:

1.有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票,另外n人只有10元钞票,剧院

无其它钞票,问有多少中方法使得只要有10元的人买票,售票处就有5元的钞票找零?

2.一位大城市的律师在她住所以北n个街区和以东n个街区处工作。每天她走2n个街区去上班。如果他从不穿

越(但可以碰到)从家到办公室的对角线,那么有多少条可能的道路?

3.在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数?

4.n个结点可够造多少个不同的二叉树?

5.一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?

附生成程序
   var
     a,b:array[1..100]of integer;
     n,k,r,i,ji:integer;
   begin
     readln(n);
     if (n=1)or(n=2) then begin writeln(1);halt;end ;

     r:=n-1;
     k:=2*(n-1);
   for i:=1 to r do
    begin
      a[i]:=i;
      b[i]:=k-r+i;
    end;
    k:=r;
    ji:=0;
  repeat
    if k=r then ji:=ji+1;
    if a[k]<b[k] then begin a[k]:=a[k]+1;
                        if k<r then for k:=k+1 to r do
                                        a[k]:=a[k-1]+1;
                    end
                    else k:=k-1;
until k=0;
writeln(ji div n);
end.
其实这样写是最最最笨的方法,可以直接用C的性质写,不用把每一个C求出来..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值