卡特兰数:
卡特兰数的第n项记作h(n)。
其中h(0) = 1, h(1) = 1, h(2) = 2.
我理解的是:h(n)表示包含n对括号的合法括号序列的数目。
一些比较鬼的性质:
h(n)=Cn2n−Cn+12n=Cn2nn+1
h(n)=∑n−1k=0h(k)∗h(n−k−1)
证明:
把括号序列看作01序列,0是左括号,1是右括号,不合法就是某前缀1的个数大于这个前缀0的个数。
首先,在不考虑合不合法的情况下,有n个0、1的序列一共有
Cn2n
个,接下来考虑不合法的有多少。
如果有一个不合法序列,则一定有一奇数位2m+1首次出现(1~2m +1)中有m+1个1、m+1个0,(m + 2~2n)中有(n - m) 2 +1个0,(n - m) 2-1个1,我们把,(m + 2~2n)中0、1互换,则现在一共有n+1个1,n-1个0。
反过来推,任意一个有n+1个1、n-1个0的序列都可以变化为一个不合法序列,所以有n+1个1、n-1个0的序列一一对应一个不合法的序列,则不合法的序列一共有
Cn+12n
。
所以:
h(n)=Cn2n−Cn+12n
应用:
1.合法括号序列方案数。
2.二叉平衡树的形态数(用欧拉序想想)。
3.凸多边形的三角划分数(用第二条性质易得)。