卡特兰数三个定义:
递归定义:
递推公式:
通项公式:
今天来讲解卡特兰数的运用:
经典例题1:
1、在n×n的网格中,一开始在(0,0)处,每次可以向上走一格或者向右走一格,在任一时刻,向右走的次数不能少于向上走的次数,问有多少种合法路径?
首先分析问题,这是一个加了约束条件的走方格问题。
假如没有这个约束条件,那么从(0,0)走到(n,n) 向右走n步,向上走n步,那么一共的要走2n步才能到达,总的可能情况有 种。
但是加上了这个约束条件:我们可以发现,如果要保证每一时刻(总的)向上走的次数小于等于向下走的次数。也就是路线必须不越过对角线。
那么一旦越过了,只要越过了1次,就会到达y=x+1这条线,只要越过了2次,就会到达y=x+2这条线。(因为向上或向右走一次就是一个单位)
因为越过了2次及以上的情况是 只要越过一次的情况的子集。
所以我们画出y=x+1 这条线。然后随便假设我们的路线从某点开始,就开始错了。
红色是随机模拟的一条路线,这条线在任意的某个点都有可能越界,绿色的线是红色的线关于y=x+1 (在没有越界前的图像)对称出来的,中间那条蓝色的线就是y=x+1,当红色的路线越界后,绿色的线和红色的线重合。
这样做的目的是什么呢? 对于红色的线,我们只能算出它从(0.0)到(n,n)的所有情况,没办法加一个特判的越界条件,所以我们可以关于 y=x+1 做对称图形,使得非法的所有路线可能情况都聚集在另一个矩形中,我们可以观察得知,在这个新矩形中,边长变成了n-1 ,n+1 但是总长是不变的。
所以非法路径就可求了,即为:
所以合法的路线就是 - (
)
即卡特兰数的通项公式:
好啦,本次的讲解到此结束了,快去做一些习题吧!!