卡特兰数总结

来源:互联网 发布:淘宝自动答题秒杀器 编辑:程序博客网 时间:2024/05/17 02:51
一、白什么是卡特兰数可以从它对应的应用来分析:

我总结了一下,最典型的四类应用:(实质上却都一样,无非是递归等式的应用,就看你能不能分解问题写出递归式了)

  1.括号化问题。

  矩阵链乘:P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)

  2.出栈次序问题。

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

  类似:有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票,另外n人只有10元钞票,剧院无其它钞票,问有多少中方法使得只要有10元的人买票,售票处就有5元的钞票找零?(将持5元者到达视作将5元入栈,持10元者到达视作使栈中某5元出栈)

  3.将多边行划分为三角形问题。

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

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

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

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

  4.给顶节点组成二叉树的问题。

  给定N个节点,能构成多少种不同的二叉树?

  (能构成h(N)个)

3和4的问题是用到其 性质的 问题。忘记性质看下面两个连接

点击打开链接 点击打开链接

其实都归结为括号问题(两个一一点对应的关系)。



二、n卡特兰数 一般项公式为



即有cn种可能。

递归求法:

还有递推的办法:
f[n] = f[n - 1] * f[0] + f[n - 2] * f[1] + ... + f[1] * f[n - 2] + f[0] * f[n - 1]
f[0] = 1
f[1] = 1

卡塔兰数满足以下递推关系




三、证明:

令1表示进栈,0表示出栈,则可转化为求一个2n位、含n个1、n个0的二进制数,满足从左往右扫描到任意一位时,经过的0数不多于1数。显然含n个1、n个0的2n位二进制数共有个,下面考虑不满足要求的数目.

考虑一个含n个1、n个0的2n位二进制数,扫描到第2m+1位上时有m+1个0和m个1(容易证明一定存在这样的情况),则后面的0-1排列中必有n-m个1和n-m-1个0。将2m+2及其以后的部分0变成1、1变成0,则对应一个n+1个0和n-1个1的二进制数。反之亦然(相似的思路证明两者一一对应)。

从而。证毕。

######

自己的理解:n个0,和n个1的2n序列中。表出栈,不合法的序列必然在某一点上,使得出栈的数量比入栈的数多1。则置换这一点后的0和1后,出现 n+1个0和n-1个1。则不合法的情况对应一个n+1个0的情况。

反过来,n+1个0和n-1个1的2n序列,必然对应某一点 使0的数比1的数多1,则置换之后的0和1,。出现 n个0和n个1的 序列(此序列不合法)。即任意n+1个0和n-1个1的2n序列对应一个不合法的n个0的2n序列。则 这两个关系是一一对应的。即得出结论1,不合法的卡特兰序列是对应一个 任意n+1个0和n-1个1的2n序列的。则所有序列 减去 不合法序列则表示 合法序列。得证。

#########





四、另一个变形应用是:

2003年浙江省小学数学夏令营竞赛考了这个题:圆周上10个点可以连成既不相交,也没有公共端点的5条线段,不同的连法共有_____种。

答:方法的种数是卡特兰数C5=42,此题被收录进单墫主编的知识出版社出版的《华数奥赛强化训练》小学六年级册的“计数问题”专题。




共六种类型,第1类有5种连法,第2类有2种连法,第3类有10种连法,第4类有10种连法,第5类有10种连法,第6类有5种连法。共有42种连法。
原创粉丝点击