首页 > 其他分享 >关于卡特兰数

关于卡特兰数

时间:2024-01-31 20:46:29浏览次数:32  
标签:dfrac times bigg 卡特兰 2n binom 关于

不那么有意思的定义

卡特兰数\(\big(Catalan\big)\)用 \(H\) 来表示,有形式如:

\(H_n=\dfrac{\binom {2n} n}{n+1} (n\geq2)\)

很好,你已经知道定义了。

老师说:它是栈出栈入栈的\(方案数\) \(???\)

放到一个递推式就有了:

\(H_n= \begin{cases} H_{n-1}+H_{n-2} &\text{if } {n \geq 2} \\ 1 &\text{if } n=0,1 \end{cases}\)

好了,你知道递推式了

解决不那么实际的问题

那么,我们引入一个问题:
对于一个大大的 \(n\times n\) 网格图,我们有一个点从 \((0,0)\) 走向 \((n,n)\),并且这个点只能向右或者向上走,但是,它不能碰到 \(y=x\) 这一直线

这个问题叫做——‘路径计数问题’。

不那么合理的解决方案

我们选择画一个图:
image

如图所示,从 \((0,0)\) 开始只能到达 \((1,0)\), 同理 \((n,n)\) 只能从 \((n,n-1)\) 转移过来,我们知道,假设我们没有那一条斜率为 \(1\) 的智障直线,我们就能有 \(\binom {2n-2} {n-1}\) 的方案数,这时候,我们把多余的方案去掉,我们把最后离开或者超于这条直线的点到 \((1,0)\) 都关于 \(y=x\) 对称。于是,我们就能轻松将多于的方案算出来,此时从 \((0,1)\) 到 \((n,n-1)\) 就有 \(\binom {2n-2} {n}\) 的方案数。

然后

就有了结论 \(\binom {2n-2} {n-1}-\binom {2n-2} {n}\) 就是当前答案的……一部分

我们这时候加上开头的两个点,便有了 \(2 \bigg(\binom {2n-2} {n-1}-\binom {2n-2} {n}\bigg)\),这时候某些人觉得它太丑陋了。

所以,我们化简这个式子:

原式
\(=2\times \dfrac{(2n-2)!}{(n-1)!\times(n-1)!}-2\times \dfrac{(2n-2)!}{n!\times(n-2)!}\)

$ = 2 \times \dfrac{(2n-2)!}{(n-1)!}\times \bigg( \dfrac{1}{(n-1)!}-\dfrac{1}{(n-2)! \times n}\bigg)$

\(=\dfrac{(2n-2)!}{(n-1)!}\times\bigg(\dfrac{2 \times n}{(n-1)! \times n}-\dfrac{2\times(n-1)}{(n-1)! \times n}\bigg)\)

\(=\dfrac{(2n-2)!}{(n-1)!}\times \dfrac{2}{(n-1)! \times n}\)

\(=\dfrac{(2n-2)!}{(n-1)!\times (n-1)! }\times \dfrac{2}{n}\)

\(=\dbinom {2n-2} {n-1}\times \dfrac{2}{n}\)

放入原问题就有了结论\(\dbinom {2n} {n}\times \dfrac{2}{n+1}\)

不那么好看的文献

这就是卡特兰数和它主要延伸出的问题了,更多的,点这里

不那么简单的题目

[AHOI2012] 树屋阶梯
[HNOI2009] 有趣的数列

标签:dfrac,times,bigg,卡特兰,2n,binom,关于
From: https://www.cnblogs.com/Aaron-Yao-Aloe/p/18000080

相关文章

  • 关于Windows11的优化内容 - 进阶者系列 - 学习者系列文章
          这几天无事,想起上次刚重装的Windows11操作系统,对于系统优化的内容想记录一下,以前没写过相关的博文,这次就做个记录吧。对于Windows11,已经出来几年了,相关的设置啥的也有,就是优化方面的软件和设置也有相关的,这次就把笔者这边所有相关的优化工具软件和脚本啥的一并发布......
  • 关于 java如何集成chatgpt,如何开发接口,如何集成vue前端界面
    Java如何集成ChatGPT,如何开发接口,如何集成Vue前端界面随着人工智能技术的不断发展,聊天机器人已经成为了人们日常生活中不可或缺的一部分。ChatGPT是一种基于深度学习的聊天机器人技术,它可以通过学习大量的语料库来生成自然流畅的对话。本文将介绍如何使用Java语言集成ChatGPT,开......
  • Rust 关于 Cargo 和 Crates.io 的内容
    原文链接参考Rust关于Cargo和Crates.io的内容,注意Windows和Linux系统的文件路径差异。目录采用发布配置自定义构建将crate发布到Crates.io编写有用的文档注释常用(文档注释)部分文档注释作为测试注释包含项的结构使用pubuse导出合适的公有API创建Crates.io账号向新c......
  • 关于C# await的一点新理解
    关于await又理解深一点了,以前有点懵,原来await 是对Task.Run的一个修饰,叶节点,后续技节点是对标有async的方法进行串烧修饰,所以根在Task.Run这个方法要所以要理解await必须要详细查看Task.RunTask.Run是调用后直接把Run的参数委托丢线程池的然后不等待直接返回的,所以返回是一个Task......
  • 关于GitHub国内打不开的有效解决办法
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!GitHub是全球最大的开源代码托管平台之一,但由于某些原因,它在中国大陆地区经常会遭受网络封锁,导致无法正常访问。如果您也遇到了这个问题,不要担心,本文将为您介绍一些解决方法。解决方案一:修改hosts文件修改hosts文件是解决无法访问GitHub的最......
  • 关于SortableJS在handle模式下移动端无法拖拽的解决办法
    原因个人项目使用到了这个库,PC操作好好的,移动端一看不行,然后去官方github-issues查看搜mobile的issue,发现大家也会这样。找了一圈看了下,应该是handle(句柄)模式下,库没有做事件监听导致的。解决办法要么换个库,要么在移动端的时候,取消句柄模式即可。constwrapper:HTMLElement=......
  • 关于缓存的一些思考
    缓存的主动更新和被动更新主动更新是指在数据发生变化时,应用程序主动更新缓存。这种方式需要应用程序去检测数据的变化,并主动更新缓存。例如,一些系统会使用定时任务或者轮询的方式来检测数据的变化,一旦发现数据发生变化,就会主动更新缓存。这种方式数据及时性较高,可以保证缓......
  • 关于ufw 报错ip6tables v1.6.1: can't initialize ip6tables table `filter': Table d
    背景在ubuntuarm版本上安装ufw,设置规则时报错发现报错ip6tablesv1.6.1:can'tinitializeip6tablestable`filter':Tabledoesnotexist(doyouneedtoinsmod?)Perhapsip6tablesoryourkernelneedstobeupgraded.解决办法一.升级ip6tables二.禁用i......
  • 1.29 深痛教训 关于 unsigned
    unsignedlonglong无符号长长整型,常用于比longlong大一倍的整数范围或自然溢出\(\bmod2^{64}\)unsignedlonglong范围为\(0\sim2^{64}-1\),而longlong是\(-2^{63}\sim2^{63}-1\),同时,unsignedlonglong是自动对\(2^{64}\)取模,也叫自然溢出,在特定题目尤其哈希......
  • 关于Linux内核4.12之前版本中, tcp_tw_recycle开启后NAT环境总是出问题的分析
     问题出现的场景很简单,nat网关下,有几台服务器,需要访问企业内部的某个的API服务器,API服务器上rcycle设置为1(4.12内核版本之前有这个设置,之后这个属性取消了,理论上也不会出现这种问题了),就在NAT下客户端并发量比较大的情况下,出现连接不上的情况(应该是SYN后,没有收到SYNACK,连接被丢......