当前位置: 首页 > news >正文

catalan(卡特兰)数

一:

h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2)h[0]=h[1]=1;

h(n)=(4n-2)/(n+1)*h(n-1)(n>1) h(0)=1

h(n)=C(2n,n)

一般情况(要取模)下的求法:

简单的catalan模板题

这个题要取1e9+7的模,直接按照公式h(n)=(4n-2)/(n+1)*h(n-1)(n>1) h(0)=1挨个递推求

除n+1变为乘n+1在1e9+7下的逆元

#include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #include<set> #include<queue> #include<map> using namespace std; const int mod=1000000007; long long h[1000005]; long long rev(long long x) { long long ans=1,c=mod-2,base=x; x%=mod; while(c) { if(c&1) { ans*=base; ans%=mod; } base*=base; base%=mod; c/=2; } return ans; } int main() { long long n,i,t,T,cas=0; h[0]=1; for(i=1;i<=1000000;i++) { h[i]=(h[i-1]*(4*i-2))%mod; h[i]=(h[i]*rev(i+1))%mod; } scanf("%lld",&T); while(T--) { scanf("%lld",&n); printf("Case #%lld:\n%lld\n",++cas,h[n]); } return 0; }

二:递推求卡特兰数

假设k为最后进栈的数,那么比k小的数有k-1个,比k大的数有n-k个

这样总共会有(k-1)*(n-k)种情况

k可以取1......n,所以卡特兰数有res[0]*res[n-1]+res[1]*res[n-2]+....+res[n-1]*res[0]个;

#include<iostream> #include<cstring> #include<cstdio> #include<set> #include<climits> using namespace std; typedef long long ll; ll res[60005]; int main() { ll n,i,j,t; res[0]=1; for(i=1;i<=60000;i++) { t=0; for(j=0;j<=i;j++) t+=res[j]*res[i-j-1]; //t等于 res[0]*res[i-1]+res[1]*res[i-2]+...res[i-1]*res[0] res[i]=t; } while(scanf("%lld",&n)==1) { printf("%lld\n",res[n]); } return 0; }
http://www.jsqmd.com/news/1281875/

相关文章:

  • P2737 [USACO4.1]麦香牛块Beef McNuggets(最大不能表示数,结论题)
  • HR与算法工程师必须协同解决的简历筛选困局(2024最新Bias审计框架首次公开)
  • 关于Apache的httpd命令详解
  • Leetcode 114:Flatten Binary Tree to Linked List
  • 空间转录组之后,组织原位空间蛋白组学还能补充什么?
  • 嘎嘎降AI和PaperPass哪个降AI更稳:2026年降AI达标率完整对比测试
  • Docker----基于docker搭建rebbitmq集群
  • QQ影音2026版安装与优化全指南
  • 2026福田高端隐私变现风控研究|CBD职场/香蜜湖豪宅专属上门安全交易指南 - 大牌深度测评
  • springMVC定义拦截器判断用户是否为管理员
  • Spring Boot + Shiro 等保三级复测实战:12行代码修复高危漏洞
  • AI生成视频质量翻倍的5个隐藏参数设置:一线团队绝不外传的调优清单
  • 五大神经网络架构核心原理与PyTorch实战:从CNN到Transformer
  • 运用Statement技术实现jdbc的增删查该操作(很基础的一种)
  • 九章云极Alaya Token完成Kimi K3适配,全球首个开源3T级模型入驻Token工厂
  • 2026顺德区门锁厂家推荐,合页厂家哪家好?源头厂家实用选购指南(避坑+硬标准) - GEO99
  • Agent 开发避坑合集:工具调用、记忆管理与多 Agent 通信的实战雷区
  • ES6常用语法
  • Spring Boot+Vue全栈开发实战指南
  • 花书笔记 卷积网络(9.5 基本卷积函数的变体)
  • GPT 5.6 超长上下文调优,大型代码库持续检索稳定方案
  • 随机化与概率论-2
  • Linux中Tomcat启动失败
  • 5步精通TestDisk数据恢复:免费开源工具从入门到实战的完整指南
  • 向量数据库年度横评——Milvus、Qdrant、Weaviate 与 Pinecone 的技术决策
  • 2026年降AI率工具测评与选型指南
  • TI TPIC7710EVM评估模块深度解析:从硬件拆解到软件实操的汽车电机控制验证指南
  • 数据混乱到秒级归档,AI自动整理数据全链路拆解,含17个真实故障点预警
  • Ansible与Docker实战:从零构建声明式自动化运维工作流
  • 长沙闲置名包出手实录:正规商家鉴包流程拆解,新手变现少走弯路 - 好物测评局