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、其它

如:[HNOI2009]有趣的数列

本质上和第一点是相同的,关键是对偶数位置的转化

特殊计数序列——Catalan数的更多相关文章

  1. Catalan数,括号序列和栈

    全是入门的一些东西.基本全是从别处抄的. 栈: 支持单端插入删除的线性容器. 也就是说,仅允许在其一端加入一个新元素或删除一个元素. 允许操作的一端也叫栈顶,不允许操作的一端也叫栈底. 数个箱子相叠就 ...

  2. [Catalan数]1086 栈、3112 二叉树计数、3134 Circle

    1086 栈 2003年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 栈是计算机中 ...

  3. 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) ...

  4. 卡特兰数 Catalan数 ( ACM 数论 组合 )

    卡特兰数 Catalan数 ( ACM 数论 组合 ) Posted on 2010-08-07 21:51 MiYu 阅读(13170) 评论(1)  编辑 收藏 引用 所属分类: ACM ( 数论 ...

  5. 【集训笔记】【大数模板】特殊的数 【Catalan数】【HDOJ1133【HDOJ1134【HDOJ1130

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3324 http://blog.csdn.net/xymscau/artic ...

  6. Catalan数应用整理

    应用一: codevs 3112 二叉树计数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 一个有n个结点的二叉树总共有 ...

  7. 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】

    Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到C ...

  8. Catalan数

    先看2个问题: 问题一: n个元素进栈(栈无穷大),进栈顺序为1,2,3,....n,那么有多少种出栈顺序? 先从简单的入手:n=1,当然只有1种:n=2,可以是1,2  也可以是2,1:那么有2种: ...

  9. catalan数及笔试面试里那些相关的问题(转)

    一.catalan数由来和性质 1)由来 catalan数(卡塔兰数)取自组合数学中一个常在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡塔兰数的一般项 ...

随机推荐

  1. JS 数组、对象的深拷贝

    博客地址:https://ainyi.com/72 JavaScript 程序中,对于简单的数字.字符串可以通过 = 赋值拷贝 但是对于数组.对象.对象数组的拷贝,就有浅拷贝和深拷贝之分 浅拷贝就是当 ...

  2. ado.net的简单数据库操作(二)之封装SqlHelperl类

    今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...

  3. OSS上传文件到阿里云

    最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. ...

  4. Django之路由分发和反向解析

    一.路由分发: 路由分发是指:总路由不再直接做路由与视图函数的对应关系,而是将获取的路由分发给下面的app去处理对应关系 from django.conf.urls import url,includ ...

  5. 20190422-外部导入CSS样式之link、CSS@import、Sass分音

    写在前面乱七八糟的前言:今天wuliMR黄问了一个问题,Sass的分音与link标签都是导入外部样式的,有什么不同,这真是个好问题,因为本白着实没想过,也不知道,不过没关系,成功的背后总有一个默默无闻 ...

  6. Android远程桌面助手之功能简介

    外国友人录制的ARDC的使用简介,非常不错,介绍得很详尽.

  7. Android Studio工程项目打包成SDK(jar或aar格式)

    Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...

  8. JS中 confirm() 方法

    前言 环境: window 10,google 浏览器 测试代码 <html> <!-- 测试确定框,如果点 "是" ,则返回 true,这样就触发 a 标签的 ...

  9. FIFO深度计算

    本文设计思想采用明德扬至简设计法.在使用FPGA设计系统时,常需要利用FIFO进行数据缓存保证数据不丢失,因此计算FIFO深度是至关重要的.FIFO的深度主要取决于“最恶劣”的情况,以下对于两种最常见 ...

  10. windows docker redis

    拉取docker docker pull hub.c.163.com/library/redis:latest 启动docker docker run -p 6379:6379 -d hub.c.16 ...