卡特兰数 \(Catlan\)

·赘述

其实发现卡特兰数和之前不同的是,前面的是给你公式,让你去求具体的例子,然而卡特兰数这里是给你大量例子来给你证明和解释什么是卡特兰数。

·定义

对于卡特兰数来说,他只是一个数列 \(Cat\)

\[Cat_n = C^{n}_{2n} - C^{n - 1}_{2n}
\]

这里举一个例子来观察一下卡特兰数:

现在给你一个 \(( n + 1 ) \times ( n + 1 )\) 的矩阵,现在从底点 \(( 0 , 0 )\) 出发,可以向上或向右走一格,并且到达的点的纵坐标不大于横坐标,问最后到达 \(( n , n )\) 的走法种数。

可以发现对于每一个走到的点,其一定不会越过直线 \(y = x + 1\)

我们将终点关于直线对称得到 \(( n - 1 , n + 1 )\)

对于每一个从原点出发的点,到达新终点的话,一定会经过这条直线。那么将路径与直线的第一个交点之后的关于直线对称回来,得到了一条不符合题意,且终点不变的直线。

我们能发现,对于每一条不符合题意的路径(必须向右和向上,不符合指的是纵坐标不大于横坐标不成立)都能对称出如上的路径。

所以:不考虑纵坐标不大于横坐标的总方案数为:

\[C^n_{2n}
\]

在 \(2n\) 次移动里有 \(n\) 次向上。

不符合纵坐标不大于横坐标的方案数为:

\[C^{n - 1}_{2n}
\]

在 \(2n\) 次移动里 \(n - 1\) 次向右。

所以答案为:

\[C^{n}_{2n} - C^{ n - 1 }_{2n}
\]

· \(Catlan\) 数的一些变形

这里指的是式子。

首先可以由已知式推出的:

\[Cat_n = \frac{C^{n}_{2n}}{n + 1}
\]
\[Cat_n = \frac{4n - 2}{n + 1} \times Cat_{ n - 1 }
\]

然后后面有可以由例子证明的:

\[Cat_n = \sum^{n - 1}_{i = 0}Cat_{ n - 1 - i } \times Cat_i
\]

\(\dots\) timida , 放不出来图不好解释啊。

考虑到点 \(( i , i )\) 时 ,再往上的 \(( i + j , i + j )\) 都会被 \(( i , i )\) 开始跑时跑到。所以会有重。为了去重,到 \(( i , i )\) 再往后我们就一直往右跳,再一直往左跳。

( ... 不明白不要看了 )

·卡特兰数的一些题型变形

·01串

给定 \(n\) 个 \(0\) 和 \(n\) 个 \(1\) ,排成长度为 \(2n\) 的 \(01\) 串,使得对于任意一个前缀中 \(0\) 的个数 \(\ge 1\) 的个数 ,求排法数。

其实将这个变个型就变成上面的题。( \(0\) 为向右走 , \(1\) 为向上走 )

·括号匹配

\(n\) 个 ( 和 \(n\) 个 ) , 求能够成功匹配的方案数 。 \(eg.()()(())()\)

·出入栈

给定 \(n\) 个元素,按照一定顺序入栈,求其出栈的方案数。

将入栈的补全时,就成为和括号一种的东西了。

结尾撒花 \(\color{pink}{✿✿ヽ(°▽°)ノ✿}\)

Catlan--卡特兰数--组合数学的更多相关文章

  1. uva 1478 - Delta Wave(递推+大数+卡特兰数+组合数学)

    option=com_onlinejudge&Itemid=8&category=471&page=show_problem&problem=4224" st ...

  2. Train Problem II(卡特兰数 组合数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023 Train Problem II Time Limit: 2000/1000 MS (Java/ ...

  3. hdu5673 Robot 卡特兰数+组合数学+线性筛逆元

    Robot Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  4. CodeForces - 896D :Nephren Runs a Cinema(卡特兰数&组合数学---比较综合的一道题)

    Lakhesh loves to make movies, so Nephren helps her run a cinema. We may call it No. 68 Cinema. Howev ...

  5. BZOJ1856:[SCOI2010]字符串(卡特兰数,组合数学)

    Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...

  6. CodeForces - 1204E Natasha, Sasha and the Prefix Sums (组合数学,卡特兰数扩展)

    题意:求n个1,m个-1组成的所有序列中,最大前缀之和. 首先引出这样一个问题:使用n个左括号和m个右括号,组成的合法的括号匹配(每个右括号都有对应的左括号和它匹配)的数目是多少? 1.当n=m时,显 ...

  7. 组合数学的卡特兰数 TOJ 3551: Game of Connections

    这个就是卡特兰数的经典问题 直接用这个公式就好了,但是这个题涉及大数的处理h(n)=h(n-1)*(4*n-2)/(n+1) 其实见过好几次大数的处理了,有一次他存的恰好不多于30位,直接分成两部分l ...

  8. [luogu1485 HNOI2009] 有趣的数列 (组合数学 卡特兰数)

    传送门 Solution 卡特兰数 排队问题的简单变化 答案为\(C_{2n}^n \pmod p\) 由于没有逆元,只好用分解质因数,易证可以整除 Code //By Menteur_Hxy #in ...

  9. 卡特兰数(Catalan)

    卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 : 1, 2, ...

  10. 卡特兰数(Catalan Number) 算法、数论 组合~

    Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡特兰数的前几个数 前20项为( ...

随机推荐

  1. Android系统启动:3-zygote篇

    Android系统启动:zygote篇 原文:http://gityuan.com/2016/02/13/android-zygote/ 基于Android 6.0的源码剖析, 分析Android启动 ...

  2. 树莓派安装OpenCv

    树莓派安装OpenCv 更换树莓派软件源 我们选择将树莓派的软件源切换到清华大学镜像站,据笔者亲测,通过此站可以顺利安装openCV. 切换软件源需要修改两个软件源配置文件的内容. 第一个需要修改是「 ...

  3. MES 与 PLC 的几种交互方式

    在 MES 开发领域,想要从 PLC 获取数据就必须要和 PLC 有信号交互.高效准确的获取 PLC 数据一直是优秀 MES 系统开发的目标之一.初涉相关系统开发的工程师往往不能很好的理解 PLC 和 ...

  4. LabVIEW Actor Framwork (1)________ 边学边做server&client

    初始需求: 现在要做一个类似聊天的demo,一个server端,若干个client端:首先是server启动,通过server可以打开若干个client端,然后每个client可以独立给server发 ...

  5. 机器学习:详解迁移学习(Transfer learning)

    详解迁移学习 深度学习中,最强大的理念之一就是,有的时候神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中.所以例如,也许已经训练好一个神经网络,能够识别像猫这样的对象,然后使用那 ...

  6. Android SDK Build-tools的版本已经高于Android SDK Platform-tools版本 的解决办法

    解决Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!最近渐渐迁移到Android  ...

  7. 登录到第一级终端后,如果再次ssh登录到其他终端,SecureCRT标签变更的问题

    "终端->仿真->高级",勾选"忽略窗口标题更改请求"

  8. stable diffusion 实践与测试

    stable diffusion 实践与测试 放大 原图高清放大 原始图片 当不满意图片质量的时候 使用stable diffusion进行二次处理 选择适合图片风格的模型,再次根据图片写出提示词 输 ...

  9. ArcGIS for Android入门(Java):初体验

    准备工作 开发工具:Android Studio 环境:jdk 11 (首次接触安卓开发,可能有的地方不太对,还请给位大佬多多指点) 项目搭建 打开Android Studio,点击New Proje ...

  10. 【Java】File 文件类

    File 文件类 File类的一个对象,代表了一个文件和一个文件目录/文件夹 File类所属在java.io 的包下 构造器部分 - 以parent为父文件,child为子路径创建File对象,可以理 ...