Asymptotic I Catalan Number
卡特兰数出现在许多计数问题中。
常见的例子有:$n$ 个节点的有序二叉树,$2n$ 个括号构成的合法括号序列。
在上面所举的两个例子中,很容易看出卡特兰数满足递推:
$$
C_{n+1} = \sum_{i = 0}^{n} C_i C_{n-i }, \quad(n \ge 1)
$$
$C_0 = 1$
卡特兰数的闭形式,亦即上述递推式的解为
$$
C_n = \frac{1}{n+1} \binom{2n}{n} = \frac{(2n)!}{n!(n+1)!}
$$
曾经我对于如何推导这个式子很感兴趣,实际上推导过程很容易搜到,维基百科上就有。
现在我摘录一种最常见的借助生成函数的证明,以备查看。
定义 $C_n$ 的生成函数
$$
c(x) = \sum_{n = 0}^{\infty} C_n x^n
$$
为了利用上述递推关系,我们考虑 $c(x)^2$ 的幂级数展开式中 $x^n$ 项的系数
\begin{aligned}
c(x)^2 &= \sum_{n = 0}^\infty \sum_{i = 0}^{n} C_i C_{n-i} x^n \\
&= \sum_{n = 0}^\infty C_{n+1} x^n
\end{aligned}
于是有
\begin{equation}
c(x) = 1 + xc(x)^2 \label{E:1}
\end{equation}
\eqref{E:1} 是关于 $c(x)$ 的一元二次方程,解之即得 $c(x)$ 的闭形式,再将此闭形式展开即得 $C_n$ 的表达式。
解得
$$ c(x) = \frac{1 \pm \sqrt{1 - 4x}} {2x} $$
注意到 $c(x)$ 在 $x = 0$ 处的极限应为 $0$,据此可知上式中分母上应取负号,即
\begin{equation}
c(x) = \frac{1 - \sqrt{1 - 4x}} {2x} \label{E:2}
\end{equation}
现在问题归结为如何将 \eqref{E:2} 展成幂级数。
要解决这个问题,我们需要知道一个东西,那就是二项式定理的推广形式。
回忆我们所学过的二项式定理,$(x + y)^n$ 中的指数 $n$ 必须是非负整数。先哲牛顿推广了初等的二项式定理,他证明了指数可以为任意实数 $r$,二项式定理同样成立。即有
$$(x+y)^r = \sum_{k = 0}^{\infty} \binom{r}{k} x^k y ^{r-k} $$
其中
$$\binom{r}{k} = \frac{r (r-1) (r-2) \dots (r - k + 1)} {k!}$$
$r (r-1) (r-2) \dots (r - k + 1)$ 也称作「$r$ 的降 $k$ 阶乘」,记作 $(r)_k$,这种记法称作 Pochhammer 符号。
二项式定理的一般形式在物理上很有用处,我念本科时不知道这么个好东西,常常看不懂书上的一些推导过程。
借助推广的二项式定理,我们很容易写出 $\sqrt{1 - 4x}$ 的展开式
\begin{aligned}
\sqrt{1 - 4x} &= (1 - 4x)^{1/2} \\
&= \sum_{k = 0}^{\infty}\binom{1/2}{k} (-4x)^k \\
&= \sum_{k = 0}^{\infty} \frac{(-1)^{k-1}(2k-3)!!}{2^k k!} (-4x)^k \\
&= \sum_{k = 0}^{\infty} \frac{(-1)^{k-1}}{4^k (2k -1) }\frac{2^k (2k-1)!!}{k!} (-4x)^k \\
&= \sum_{k = 0}^{\infty} \frac{(-1)^{k-1}}{4^k (2k -1) } \binom{2k}{k} (-4x)^k \\
&= \sum_{k = 0}^{\infty} \frac{-1}{ 2k -1 } \binom{2k}{k} x^k
\end{aligned}
进而
\begin{aligned}
1 - \sqrt{1 - 4x} &= \sum_{k = 1}^{\infty} \frac{1}{ 2k -1 } \binom{2k}{k} x^k \\
&= \sum_{k = 0}^{\infty} \frac{1}{ 2k + 1 } \binom{2k+2}{k+1} x^{k+1} \\
&= \sum_{k = 0}^{\infty} \frac{2}{k+1} \binom{2k}{k} x^{k+1}
\end{aligned}
从而
$$ \frac{1 - \sqrt{1 - 4x}} {2x} = \sum_{k = 0}^{\infty} \frac{1}{ k+1 } \binom{2k}{k} x^k $$
因此
$$ C_n = \frac{1}{n+1} \binom{2n}{n} $$
补充
$C_n$ 还可写成
$$ C_n = \binom{2n}{n} - \binom{2n}{n + 1} $$
另外,$C_n$ 的相邻两项满足
$$ C_{n+1} = \frac{2(2n+1)}{n + 2} C_n $$
Asymptotic I Catalan Number的更多相关文章
- 卡特兰数(Catalan Number) 算法、数论 组合~
Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡特兰数的前几个数 前20项为( ...
- 浅谈卡特兰数(Catalan number)的原理和相关应用
一.卡特兰数(Catalan number) 1.定义 组合数学中一个常出现在各种计数问题中出现的数列(用c表示).以比利时的数学家欧仁·查理·卡特兰的名字来命名: 2.计算公式 (1)递推公式 c[ ...
- 卡特兰数 catalan number
作者:阿凡卢 出处:http://www.cnblogs.com/luxiaoxun/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留 ...
- 【知识总结】卡特兰数 (Catalan Number) 公式的推导
卡特兰数的英文维基讲得非常全面,强烈建议阅读! Catalan number - Wikipedia (本文中图片也来源于这个页面) 由于本人太菜,这里只选取其中两个公式进行总结. (似乎就是这两个比 ...
- Lucas定理 & Catalan Number & 中国剩余定理(CRT)
又双叒叕来水数论了 今天来学习\(Lucas \:\ \& \:\ Catalan Number\) 两者有着密切的联系(当然还有CRT),所以放在一起学习一下 \(Lucas\) 定义\(\ ...
- Catalan Number 卡特兰数
内容部分来自以下博客: Cyberspace_TechNode 邀月独斟 一个大叔 表示感谢! Catalan数的引入: 一个长度为2N的序列,里面有N个+1,N个-1 它的任意前缀和均非负,给定N, ...
- 卡特兰数(Catalan Number) 学习笔记
一.三个简单的问题 1.给定一串长为2n的01序列,其中0和1的数量相等,满足任意前缀中0的个数不少于1的个数,求序列的个数 2.给出一串长为n的序列,按顺序将他们进栈,随意出栈,求最后进出栈的方案 ...
- 浅谈 Catalan number——卡特兰数
一.定义: 卡特兰数是一组满足下面递推关系的数列: 二.变形: 首先,设h(n)为Catalan数的第n+1项,令h(0)=1,h(1)=1,Catalan数满足递推式: h(n)= h(0)*h(n ...
- catalan number
http://blog.csdn.net/yutianzuijin/article/details/13161721
随机推荐
- c++谭浩强教材教学练习例题1.2 求两数之和 为什么sum=a+b;sum的值为65538
第一章 #include <iostream>using namespace std; int main(){ int a,b,sum; sum=a+b; cin>>a> ...
- ios xmppFramework框架的导入步骤和介绍
一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 第一种方法直接拖 1> 拖入文件夹 ...
- 谈谈对bug的一点想法,说说做好日志记录的重要性
说起程序猿,总绕不开的一个话题就是bug,估计每个程序猿听到某某测试跑过来一脸淫笑的告诉你这个功能有个bug的时候,总有种恨不得掐死他的想法.其实程序猿跟bug的关系,感觉有点像父亲和儿子的关系,自己 ...
- ECSHOP快递物流单号查询插件
本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅急送快递.德邦物流.百世快递.汇通快递.中通快递.天天快递等知 ...
- GMT 时间格式转换到 TDateTime (Delphi)
//GMT 时间格式转换到 TDateTime //忽略时区 function GMT2DateTime(const pSour:PAnsiChar):TDateTime; function GetM ...
- 中国剩余定理算法详解 + POJ 1006 Biorhythms 生理周期
转载请注明出处:http://exp-blog.com/2018/06/24/pid-1054/ #include <iostream> #include <cstdio> u ...
- urllib使用三--urlretrieve下载文件
下载文件 urllib.urlretrieve() 参数: url:远程地址 filename:要保存到本地的文件 reporthook:下载状态报告 data:有就变成POST请求,有格式要求 返回 ...
- Java语言基础---变量与数据类型
变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...
- Trident整合MongoDB
MongoDB是大数据技术中常用的NoSql型数据库,它提供的大量的查询.聚合等操作函数,对于大量查询的日志系统来说,该MongoDB是大数据日志存储的福音.Storm的高级编程技术Trident,也 ...
- 《Cracking the Coding Interview》——第1章:数组和字符串——题目5
2014-03-18 01:40 题目:对字符串进行类似游程编码的压缩,如果压缩完了长度更长,则返回不压缩的结果.比如:aabcccccaaa->a2b1c5a3,abc->abc. 解法 ...