卡特兰数学习笔记

卡特兰数(Catalan 数)学习笔记

一、引入

问题 1

nnn+1+1+1nnn−1-11 组成的 2n2n2n 项序列 a1,a2,⋯ ,a2na_1,a_2,\cdots,a_{2n}a1,a2,,a2n,求有多少种方案满足其部分和 a1+a2+⋯+ak≥0 (k=1,2,⋯ ,2n)a_1+a_2+\cdots+a_k \ge 0\ (k=1,2,\cdots,2n)a1+a2++ak0 (k=1,2,,2n)

分析

设满足条件的方案数(即答案)为 CnC_nCn,不满足条件的方案数为 UnU_nUn

nnn+1+1+1nnn−1-11 组成的序列总数为 (2n)!n!n!=(2nn)\dfrac{(2n)!}{n!n!}=\dbinom{2n}{n}n!n!(2n)!=(n2n)

那么 Cn+Un=(2nn)C_n+U_n=\dbinom{2n}{n}Cn+Un=(n2n)

我们只要求出 UnU_nUn,就可以得到 CnC_nCn

因为不满足条件,所以一定存在第一个 kkk,使得 a1+a2+⋯+ak<0a_1+a_2+\cdots+a_k<0a1+a2++ak<0

因为 kkk 是第一个,所以 a1+a2+⋯+ak−1=0a_1+a_2+\cdots+a_{k-1}=0a1+a2++ak1=0,且 ak=−1a_k=-1ak=1

同时,kkk 为奇整数。

我们将前 kkk 项的符号取反,剩下的不变,就可以得到一个由 n+1n+1n+1+1+1+1n−1n-1n1−1-11 组成的序列,而这个序列和前面不满足条件的序列一一对应(考虑第一个 +1+1+1 个数超过 −1-11 的位置,将这个位置及其前面符号取反,就可以得到一个不满足条件的序列)。

那么 UnU_nUn 等于由 n+1n+1n+1+1+1+1n−1n-1n1−1-11 组成的序列的个数,即 (2n)!(n+1)!(n−1)!=(2nn+1)\dfrac{(2n)!}{(n+1)!(n-1)!}=\dbinom{2n}{n+1}(n+1)!(n1)!(2n)!=(n+12n)

所以 Cn=(2nn)−(2nn+1)=1n+1(2nn)C_n=\dbinom{2n}{n}-\dbinom{2n}{n+1}=\dfrac{1}{n+1}\dbinom{2n}{n}Cn=(n2n)(n+12n)=n+11(n2n)

即为第 nnn 个卡特兰数。

扩展

若改为 nnn+1+1+1mmm−1-11,且 n≥mn\ge mnm,那么有多少种?

分析

同样设满足条件方案数为 AnA_nAn,不满足的为 UnU_nUn

那么 An+Un=(n+mn)A_n+U_n=\dbinom{n+m}{n}An+Un=(nn+m)

Un=(n+mn+1)U_n=\dbinom{n+m}{n+1}Un=(n+1n+m),所以 An=(n+mn)−(n+mn+1)A_n=\dbinom{n+m}{n}-\dbinom{n+m}{n+1}An=(nn+m)(n+1n+m)


问题 2

求以下递推关系的解:

C0=1C_0=1C0=1

Cn=C0Cn−1+C1Cn−2+⋯+Cn−1C0=∑k=0n−1CkCn−k−1C_n=C_0C_{n-1}+C_1C_{n-2}+\cdots+C_{n-1}C_0=\sum\limits_{k=0}^{n-1}C_kC_{n-k-1}Cn=C0Cn1+C1Cn2++Cn1C0=k=0n1CkCnk1

分析

g(x)=C0+C1x+C2x2+⋯+Cnxn+⋯g(x)=C_0+C_1x+C_2x^2+\cdots+C_nx^n+\cdotsg(x)=C0+C1x+C2x2++Cnxn+ 为数列 C0,C1,⋯ ,CnC_0,C_1,\cdots,C_nC0,C1,,Cn 的生成函数。
(g(x))2=C0C0+(C0C1+C1C0)x+(C0C2+C1C1+C2C0)x2+⋯+(C0Cn+C1Cn−1+⋯+CnC0)xn=∑i=0∞Ci+1xi (g(x))^2=C_0C_0+(C_0C_1+C_1C_0)x+(C_0C_2+C_1C_1+C_2C_0)x^2+\cdots+(C_0C_n+C_1C_{n-1}+\cdots+C_nC_0)x^n \\ =\sum\limits_{i=0}^{\infty}C_{i+1}x^i (g(x))2=C0C0+(C0C1+C1C0)x+(C0C2+C1C1+C2C0)x2++(C0Cn+C1Cn1++CnC0)xn=i=0Ci+1xi

x(g(x))2=∑i=0∞Cixi−C0=g(x)−C0x(g(x))2−g(x)+1=0 x(g(x))^2=\sum\limits_{i=0}^\infty C_ix^i-C_0=g(x)-C_0 \\ x(g(x))^2-g(x)+1=0 x(g(x))2=i=0CixiC0=g(x)C0x(g(x))2g(x)+1=0
解得
g(x)=1±1−4x2x g(x)=\dfrac{1\pm \sqrt{1-4x}}{2x} g(x)=2x1±14x

lim⁡x→0+g(x)=C0=1lim⁡x→0+g(x)=lim⁡x→0+1±1−4x2x=lim⁡x→0+21∓1−4x \lim\limits_{x\to0^+}g(x)=C_0=1 \\ \lim\limits_{x\to0^+}g(x)=\lim\limits_{x\to0^+}\dfrac{1\pm \sqrt{1-4x}}{2x}=\lim\limits_{x\to 0^+}\dfrac{2}{1\mp\sqrt{1-4x}} x0+limg(x)=C0=1x0+limg(x)=x0+lim2x1±14x=x0+lim114x2
g(x)=1−1−4x2xg(x)=\dfrac{1-\sqrt{1-4x}}{2x}g(x)=2x114x

由牛顿二项式定理,
(1+z)12=∑k=0∞(12k)xk (1+z)^{\frac{1}{2}}=\sum\limits_{k=0}^{\infty}\dbinom{\frac{1}{2}}{k}x^k (1+z)21=k=0(k21)xk
对于 k>0k>0k>0
(12k)=12(12−1)⋯(12−k+1)k!=(−1)k−12k1×3×5×⋯×(2k−3)k!=(−1)k−12k1×2×3×4×⋯×(2k−3)×(2k−2)2×4×⋯×(2k−2)×(k!)=(−1)k−1k×22k−1(2k−2)((k−1)!)2=(−1)k−1k×22k−1(2k−2k−1) \dbinom{\frac{1}{2}}{k}=\dfrac{\frac{1}{2}(\frac{1}{2}-1)\cdots(\frac{1}{2}-k+1)}{k!} \\ =\dfrac{(-1)^{k-1}}{2^k}\dfrac{1\times 3\times 5\times\cdots\times(2k-3)}{k!} \\ =\dfrac{(-1)^{k-1}}{2^k}\dfrac{1\times 2\times 3\times 4\times\cdots\times(2k-3)\times(2k-2)}{2\times 4\times\cdots\times(2k-2)\times (k!)} \\ =\dfrac{(-1)^{k-1}}{k\times 2^{2k-1}}\dfrac{(2k-2)}{((k-1)!)^2} \\ =\dfrac{(-1)^{k-1}}{k\times 2^{2k-1}}\dbinom{2k-2}{k-1} (k21)=k!21(211)(21k+1)=2k(1)k1k!1×3×5××(2k3)=2k(1)k12×4××(2k2)×(k!)1×2×3×4××(2k3)×(2k2)=k×22k1(1)k1((k1)!)2(2k2)=k×22k1(1)k1(k12k2)

−4x-4x4xzzz,可得
1−4x=1+∑k=1∞(−1)k−1k∗22k−1(2k−2k−1)(−1)k4kxk=1−2∑k=1∞1k(2k−2k−1)xk \sqrt{1-4x}=1+\sum\limits_{k=1}^{\infty}\dfrac{(-1)^{k-1}}{k*2^{2k-1}}\binom{2k-2}{k-1}(-1)^k4^kx^k \\ =1-2\sum\limits_{k=1}^{\infty}\dfrac{1}{k}\binom{2k-2}{k-1}x^k 14x=1+k=1k22k1(1)k1(k12k2)(1)k4kxk=12k=1k1(k12k2)xk

g(x)=12x(1−(1−2∑k=1∞1k(2k−2k−1)xk))=12x2∑k=1∞1k(2k−2k−1)xk=∑k=0∞1k+1(2kk)xk g(x)=\dfrac{1}{2x}(1-(1-2\sum\limits_{k=1}^{\infty}\dfrac{1}{k}\binom{2k-2}{k-1}x^k)) \\ =\dfrac{1}{2x}2\sum\limits_{k=1}^{\infty}\dfrac{1}{k}\binom{2k-2}{k-1}x^k \\ =\sum\limits_{k=0}^{\infty}\dfrac{1}{k+1}\dbinom{2k}{k}x^k g(x)=2x1(1(12k=1k1(k12k2)xk))=2x12k=1k1(k12k2)xk=k=0k+11(k2k)xk
Cn=1n+1(2nn)C_n=\dfrac{1}{n+1}\dbinom{2n}{n}Cn=n+11(n2n)

即第 nnn 个卡特兰数。


二、应用

例 1
问题

2n2n2n 个人排列进入剧场,票价 555 角。其中 nnn 个人有 555 角硬币,另外 nnn 个人有一元硬币。初始售票处无零钱。问有多少种排列方法使得每个有一元硬币的人买票时,都有 555 角找零?

分析

555 角找零的条件为:在任一位置,有 555 角硬币的人总数大于等于有一元硬币的人个数。

将有 555 角硬币的人看作 +1+1+1,有一元硬币的人看作 −1-11,那么就转化为引入中的问题 1。答案为第 nnn 个卡特兰数。


例 2
问题

对于一个 n×nn\times nn×n 的正方形网格,从左下角到右上角,每次只能向右或向上走一格,且不能越过对角线,问有多少种走法。

分析

考虑将向右记为 +1+1+1,向上记为 −1-11,那么合法路径的数目就等于满足 ∑i=1kai≥0 ,k=1,2,⋯ ,2n\sum\limits_{i=1}^{k}a_i \ge 0\ ,k=1,2,\cdots,2ni=1kai0 ,k=1,2,,2n,即引入中问题 1。

所以答案即为第 nnn 个卡特兰数。


例 3
问题

计算包含 nnn 个左括号和 nnn 个右括号的合法括号序列种数。

合法括号序列定义:

  1. 空串为合法序列。

  2. 若 A 为合法序列,那么 (A) 为合法序列。

  3. 若 A,B 均为合法序列,那么 AB 为合法序列。

分析

显然在任何位置,左括号的个数一定大于等于右括号的个数。

考虑将左括号看作 +1+1+1,右括号看作 −1-11,那么又转化成了引入中的问题 1,答案是第 nnn 个卡特兰数。


例 4
问题

计算 nnn 个数合法的出栈序列。

分析

法一:将进栈看作 +1+1+1,出栈看作 −1-11,那么就转化成了引入中的问题 1。

法二:

设答案为 cnc_ncn

显然 c0=1c_0=1c0=1

我们考虑 cnc_ncn 怎么得来。

令最后一个出栈的数为 kkk

那么在 kkk 入栈之前,1,2,⋯ ,k−11,2,\cdots,k-11,2,,k1k−1k-1k1 个数已经入栈并出栈了,方案数为 ck−1c_{k-1}ck1

kkk 入栈之后,k+1,⋯ ,n−1,nk+1,\cdots,n-1,nk+1,,n1,nn−kn-knk 个数会入栈并出栈,方案数为 cn−kc_{n-k}cnk

故总方案数为 ∑k=1nck−1cn−k=∑k=0n−1ckcn−k−1=Cn\sum\limits_{k=1}^n c_{k-1}c_{n-k}=\sum \limits_{k=0}^{n-1}c_kc_{n-k-1}=C_nk=1nck1cnk=k=0n1ckcnk1=Cn

转化成引入中的问题 2。


例 5
问题

求将 n+2n+2n+2 条边的凸多边形用不相交的对角线分割成三角形区域的方案数。

分析

如图,我们选定这个多边形的一条边作为基边,那么在每一种划分中这条基边都是一个三角形区域的边,且这个三角形区域将整个多边形分成了三部分:这个三角形区域,一个含有 k+1+1=k+2k+1+1=k+2k+1+1=k+2 条边的多边形区域,还有一个含有 n+2−k−1−1+1=n−k+1n+2-k-1-1+1=n-k+1n+2k11+1=nk+1 条边的区域。

设含 n+2n+2n+2 条边的方案数为 cnc_ncn

那么由分析可知,cn=∑k=0n−1ckcn−k−1=Cnc_n=\sum\limits_{k=0}^{n-1} c_kc_{n-k-1}=C_ncn=k=0n1ckcnk1=Cn

转化为引入中的问题 2。


例 6
问题

求含有 nnn 个节点的二叉树的个数。

分析

首先固定一个根节点,左子树有 kkk 个节点,那么右子树有 n−k−1n-k-1nk1 个节点。

设答案为 cnc_ncn,那么 cn=Σk=0n−1ckcn−k−1=Cnc_n=\Sigma _{k=0}^{n-1}c_kc_{n-k-1}=C_ncn=Σk=0n1ckcnk1=Cn

转化为引入中的问题 2。


三、公式

  1. 计算式:Cn=1n+1(2nn)C_n=\dfrac{1}{n+1}\dbinom{2n}{n}Cn=n+11(n2n)
  2. 递推式 1:C0=1,Cn=∑k=0n−1CkCn−k−1C_0=1,C_n=\sum\limits_{k=0}^{n-1}C_kC_{n-k-1}C0=1,Cn=k=0n1CkCnk1
  3. 递推式 2:C0=1,Cn=4n−2n+1Cn−1C_0=1,C_n=\dfrac{4n-2}{n+1}C_n-1C0=1,Cn=n+14n2Cn1
  4. 增长趋势:Cn∼4nn32πC_n\thicksim\dfrac{4^n}{n^\frac{3}{2}\sqrt{\pi}}Cnn23π4n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值