特殊计数序列——Catalan数
Catalan数
前10项
\(1,1,2,5,14,42,132,429,1430,4862\)
(注:从第\(0\)项起)
计算式
- \(C_n=\frac{1}{n+1}\dbinom{2n}{n}\)
- \(C_{n+1}=\sum_{i=0}^nC_iC_{n-i}\)
- \(C_n=\dbinom{2n}{n}-\dbinom{2n}{n-1}\)
- \(C_n=\frac{4n-2}{n+1}C_{n-1}\)
组合意义
1、由\(n\)个\(+1\)和\(n\)个\(-1\)构成的\(2n\)项序列中,满足\(\forall k\in[1,2n],\sum_{i=1}^ka_i\geq 0\)的序列数量
大家都知道结论:\(C_n=\frac{1}{n+1}\dbinom{2n}{n}\),在这里给出证明
考虑从相反的方面进行考虑,即用总序列数\(\dbinom{2n}{n}\)减去不合法的序列数
对于每一个不合法的序列,必定存在一个最小的\(k\)使得\(\sum_{i=1}^k a_i<0\),也就是有\(\sum_{i=0}^{k-1}a_i=0\)且\(a_k=-1\)
很明显\(k\)是奇数
考虑将前\(k\)项取相反数,那么该序列变成了一个含有\(n+1\)个\(+1\)和\(n-1\)个\(-1\)的序列,容易知道一个不合法的原序列只会对应一个新序列
同理,在新序列中一定会存在一个\(k\)使得\(\sum_{i=0}^ka_i=1\),此时再一次取前\(k\)项的相反数,又会得到一个不合法的原序列
因此不合法的序列和新序列是一一映射的关系,而新序列的总数也就是\(\dbinom{2n}{n-1}\)
于是最终答案就是\(\dbinom{2n}{n}-\dbinom{2n}{n-1}=\frac{1}{n+1}\dbinom{2n}{n}\)
由这一条组合意义可以引申出许多本质一样的组合意义
- 在网格图上从\((0,0)\)走到\((n,n)\),每次只走一个单位长度,不走回头路,且不穿过(可碰到)直线\(y=x\)的方案数。(向右:\(+1\),向上:\(-1\))
- \(2n\)个人排队买票,票价5角,有\(n\)个人持有1元硬币,另\(n\)个人持有\(5\)角硬币,求不使用额外的\(5\)角钱的排队方案(\(5\)角:\(+1\),\(1\)元:\(-1\))
2、凸\(n+1\)边形被其内部不相交的对角线划分成三角形区域的方案数
这是上面的第二个式子\(C_{n+1}=\sum_{i=0}^nC_iC_{n-i}\),我们有\(f_n=\sum_{i=2}^{n-1}f_if_{n-i-1}\),故\(f_n=C_{n+2}\)
类似的还有
- \(n\)个节点的不同的二叉树,考虑在中序遍历中根节点的位置即可
3、其它
本质上和第一点是相同的,关键是对偶数位置的转化
特殊计数序列——Catalan数的更多相关文章
- Catalan数,括号序列和栈
全是入门的一些东西.基本全是从别处抄的. 栈: 支持单端插入删除的线性容器. 也就是说,仅允许在其一端加入一个新元素或删除一个元素. 允许操作的一端也叫栈顶,不允许操作的一端也叫栈底. 数个箱子相叠就 ...
- [Catalan数]1086 栈、3112 二叉树计数、3134 Circle
1086 栈 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 栈是计算机中 ...
- Catalan数 && 【NOIP2003】出栈序列统计
令h(1)=1, h(0)=1,catalan数满足递归式: h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)h(0) (n>=2) =C(2n, n)/(n+1) ...
- 卡特兰数 Catalan数 ( ACM 数论 组合 )
卡特兰数 Catalan数 ( ACM 数论 组合 ) Posted on 2010-08-07 21:51 MiYu 阅读(13170) 评论(1) 编辑 收藏 引用 所属分类: ACM ( 数论 ...
- 【集训笔记】【大数模板】特殊的数 【Catalan数】【HDOJ1133【HDOJ1134【HDOJ1130
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3324 http://blog.csdn.net/xymscau/artic ...
- Catalan数应用整理
应用一: codevs 3112 二叉树计数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 一个有n个结点的二叉树总共有 ...
- 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】
Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到C ...
- Catalan数
先看2个问题: 问题一: n个元素进栈(栈无穷大),进栈顺序为1,2,3,....n,那么有多少种出栈顺序? 先从简单的入手:n=1,当然只有1种:n=2,可以是1,2 也可以是2,1:那么有2种: ...
- catalan数及笔试面试里那些相关的问题(转)
一.catalan数由来和性质 1)由来 catalan数(卡塔兰数)取自组合数学中一个常在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡塔兰数的一般项 ...
随机推荐
- sql:常用函数
1.验证是否是null,是则替换ISNULL(Weight, 50) SELECT AVG(ISNULL(Weight, 50))FROM Production.Product; 2.连接多个字符串 ...
- 【转】使用MySQL处理百万级以上数据时,不得不知道的几个常识
---------------------------------------------------------------------------------------------------- ...
- Java运行时数据区概述
Java 虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,如图所示: 程序计数器 程序计数器是一块比较小的内存空间,可以看作是当前线程所执行的字节 ...
- Hadoop综合大作业
Hadoop综合大作业 要求: 用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)词频统计. 用Hive对爬虫大作业产生的csv文件进行数据分析 1. 用Hive对爬虫大作业产 ...
- Spring+MyBatis整合过程
步骤: 1.引入Spring+MyBatis开发包 >spring(ioc aop dao)开发包 >mybatis开发包,dbcp,驱动包 >mybatis-spring.jar整 ...
- 《JavaScript高级程序设计》笔记:HTML5脚本编程(16)
跨文档消息传递 跨文档消息传递(cross-document messaging),有时候简称为XDM,指的是在来自不同域的页面间传递消息.例如,www.wrox.com域中的页面与位于一个内嵌框架中 ...
- 解决PostGIS打开shp文件输入输出模块出现"找不到文件libintl-9.dll"的问题
找到shp2pgsql-gui.exe这个程序的目录 复制一份libintl-8.dll副本,改名为libintl-9.dll即可.
- Flutter项目之app升级方案
题接上篇的文章的项目,还是那个空货管理app.本篇文章用于讲解基于Flutter的app项目的升级方案. 在我接触Flutter之前,做过一个比较失败的基于DCloud的HTML5+技术的app,做过 ...
- typescript类的修饰符
学习过java的小姐姐,小哥哥应该很好理解,但还是啰嗦的写出来! typescript里面定义属性的时候给我们提供了 三种修饰符 public :公有 在当前类里面. 子类 .类外面都可以访问 pro ...
- SQL Server数据库————增删改查
--增删改查--增 insert into 表名(列名) value(值列表) --删 delect from 表名 where 条件 --改 update 表名 set 列名=值1,列名2=值2 w ...