Catlan--卡特兰数--组合数学
卡特兰数 \(Catlan\)
·赘述
其实发现卡特兰数和之前不同的是,前面的是给你公式,让你去求具体的例子,然而卡特兰数这里是给你大量例子来给你证明和解释什么是卡特兰数。
·定义
对于卡特兰数来说,他只是一个数列 \(Cat\)
\]
这里举一个例子来观察一下卡特兰数:
现在给你一个 \(( n + 1 ) \times ( n + 1 )\) 的矩阵,现在从底点 \(( 0 , 0 )\) 出发,可以向上或向右走一格,并且到达的点的纵坐标不大于横坐标,问最后到达 \(( n , n )\) 的走法种数。
可以发现对于每一个走到的点,其一定不会越过直线 \(y = x + 1\)
我们将终点关于直线对称得到 \(( n - 1 , n + 1 )\)
对于每一个从原点出发的点,到达新终点的话,一定会经过这条直线。那么将路径与直线的第一个交点之后的关于直线对称回来,得到了一条不符合题意,且终点不变的直线。
我们能发现,对于每一条不符合题意的路径(必须向右和向上,不符合指的是纵坐标不大于横坐标不成立)都能对称出如上的路径。
所以:不考虑纵坐标不大于横坐标的总方案数为:
\]
在 \(2n\) 次移动里有 \(n\) 次向上。
不符合纵坐标不大于横坐标的方案数为:
\]
在 \(2n\) 次移动里 \(n - 1\) 次向右。
所以答案为:
\]
· \(Catlan\) 数的一些变形
这里指的是式子。
首先可以由已知式推出的:
\]
\]
然后后面有可以由例子证明的:
\]
\(\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--卡特兰数--组合数学的更多相关文章
- uva 1478 - Delta Wave(递推+大数+卡特兰数+组合数学)
option=com_onlinejudge&Itemid=8&category=471&page=show_problem&problem=4224" st ...
- Train Problem II(卡特兰数 组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023 Train Problem II Time Limit: 2000/1000 MS (Java/ ...
- hdu5673 Robot 卡特兰数+组合数学+线性筛逆元
Robot Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- 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 ...
- BZOJ1856:[SCOI2010]字符串(卡特兰数,组合数学)
Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...
- CodeForces - 1204E Natasha, Sasha and the Prefix Sums (组合数学,卡特兰数扩展)
题意:求n个1,m个-1组成的所有序列中,最大前缀之和. 首先引出这样一个问题:使用n个左括号和m个右括号,组成的合法的括号匹配(每个右括号都有对应的左括号和它匹配)的数目是多少? 1.当n=m时,显 ...
- 组合数学的卡特兰数 TOJ 3551: Game of Connections
这个就是卡特兰数的经典问题 直接用这个公式就好了,但是这个题涉及大数的处理h(n)=h(n-1)*(4*n-2)/(n+1) 其实见过好几次大数的处理了,有一次他存的恰好不多于30位,直接分成两部分l ...
- [luogu1485 HNOI2009] 有趣的数列 (组合数学 卡特兰数)
传送门 Solution 卡特兰数 排队问题的简单变化 答案为\(C_{2n}^n \pmod p\) 由于没有逆元,只好用分解质因数,易证可以整除 Code //By Menteur_Hxy #in ...
- 卡特兰数(Catalan)
卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 : 1, 2, ...
- 卡特兰数(Catalan Number) 算法、数论 组合~
Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡特兰数的前几个数 前20项为( ...
随机推荐
- CSDN 大规模抓取 GitHub 上的项目到 GitCode,伪造开发者主页引公愤
事件起因 CSDN旗下的GitCode最近因为一种极其不道德的行为引起了开发者的广泛愤怒和抗议.CSDN在没有通知或征求开发者同意的情况下,悄悄地将大量GitHub上的开源项目搬运到了其自己的GitC ...
- 设备树DTS 学习:学习总结(应用篇)
设备树DTS 学习:学习总结(应用篇) 背景 经过前几章的学习,我们可以说是掌握了设备树的基础用法,现在作为总结回顾. 1.设备树DTS 学习:有关概念 介绍了什么是设备树,设备树的作用,如何编译设备 ...
- Python脚本报错:DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working import pymssql
报错信息: monitor_mssql.py:10: DeprecationWarning: Using or importing the ABCs from 'collections' instea ...
- Java int/int 保留2位小数
@Test public void txfloat() { // TODO 自动生成的方法存根 int a=9; int b=7; DecimalFormat df=new DecimalFormat ...
- MQ和RabbitMQ
一.微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应. 异步通讯:就像发邮件,不需要马上回复. Feign调用就属于同步方式,虽然调用可以实时得到结果,但存在下面的问题: 1.耦 ...
- [oeasy]python0011_ 字符序号_ordinal_ord
序号(ordinal) 回忆上次内容 hello world 不是从来就有的 来自于unix和c 虽然我们今天有各种先进的学习手段 最早的高级语言学习是从最早的那张打字机用纸 ...
- 使用JavaScript编写vue指令v-model,v-model原理实现
首先先要知道的是v-model的作用是实现数据的双向绑定,即: 数据在视图层的双向响应. 实现思路主要分为两步: 第一步:数据层到视图层的响应 将数据响应到视图层的方式,在vue2使用的是Object ...
- GUI随笔
####GUI是一个很大的话题,从Win32(windows基础API编程)到MFC,QT再到DuiLib,WPF,Winform再到Html这是一个很漫长的路,下面是我对这个界面库的见解 就对我而言 ...
- 封装的grid控件
class CGridCtrl : public CWnd { DECLARE_DYNAMIC(CGridCtrl) public: void Create(CWnd* pParent, DWORD ...
- Scratch源码下载 | 3D钻石
程序说明: <3D钻石>是一个利用Scratch平台创作的独特艺术作品.此程序在屏幕上呈现一个精致的3D钻石模型,允许用户通过鼠标操作来旋转和查看钻石的不同角度.该程序还提供了修改钻石参数 ...