Catlan--卡特兰数--组合数学
卡特兰数 \(Catlan\)
·赘述
其实发现卡特兰数和之前不同的是,前面的是给你公式,让你去求具体的例子,然而卡特兰数这里是给你大量例子来给你证明和解释什么是卡特兰数。
·定义
对于卡特兰数来说,他只是一个数列 \(Cat\)
这里举一个例子来观察一下卡特兰数:
现在给你一个 \(( n + 1 ) \times ( n + 1 )\) 的矩阵,现在从底点 \(( 0 , 0 )\) 出发,可以向上或向右走一格,并且到达的点的纵坐标不大于横坐标,问最后到达 \(( n , n )\) 的走法种数。
可以发现对于每一个走到的点,其一定不会越过直线 \(y = x + 1\)
我们将终点关于直线对称得到 \(( n - 1 , n + 1 )\)
对于每一个从原点出发的点,到达新终点的话,一定会经过这条直线。那么将路径与直线的第一个交点之后的关于直线对称回来,得到了一条不符合题意,且终点不变的直线。
我们能发现,对于每一条不符合题意的路径(必须向右和向上,不符合指的是纵坐标不大于横坐标不成立)都能对称出如上的路径。
所以:不考虑纵坐标不大于横坐标的总方案数为:
在 \(2n\) 次移动里有 \(n\) 次向上。
不符合纵坐标不大于横坐标的方案数为:
在 \(2n\) 次移动里 \(n - 1\) 次向右。
所以答案为:
· \(Catlan\) 数的一些变形
这里指的是式子。
首先可以由已知式推出的:
然后后面有可以由例子证明的:
\(\dots\) timida , 放不出来图不好解释啊。
考虑到点 \(( i , i )\) 时 ,再往上的 \(( i + j , i + j )\) 都会被 \(( i , i )\) 开始跑时跑到。所以会有重。为了去重,到 \(( i , i )\) 再往后我们就一直往右跳,再一直往左跳。
( ... 不明白不要看了 )
·卡特兰数的一些题型变形
·01串
给定 \(n\) 个 \(0\) 和 \(n\) 个 \(1\) ,排成长度为 \(2n\) 的 \(01\) 串,使得对于任意一个前缀中 \(0\) 的个数 \(\ge 1\) 的个数 ,求排法数。
其实将这个变个型就变成上面的题。( \(0\) 为向右走 , \(1\) 为向上走 )
·括号匹配
\(n\) 个 (
和 \(n\) 个 )
, 求能够成功匹配的方案数 。 \(eg.()()(())()\)
·出入栈
给定 \(n\) 个元素,按照一定顺序入栈,求其出栈的方案数。
将入栈的补全时,就成为和括号一种的东西了。