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

75.Acwing基础课第889题-简单-满足条件的01序列

75.Acwing基础课第889题-简单-满足条件的01序列

题目描述

\(给定 n 个 0 和 n 个 1,它们将按照某种顺序排成长度为 2n 的序列,求它们能排列成的所有序列中,能够满足任意前缀序列中 0 的个数都不少于 1 的个数的序列有多少个\)

\(输出的答案对 10^9+7 取模\)

输入格式

\(共一行,包含整数 n\)

输出格式

\(共一行,包含一个整数,表示答案\)

数据范围

\(1≤b≤a≤10^5\)

输入样例:

3

输出样例:

5

代码:

// 包含基础输入输出、算法头文件
#include <iostream>
#include <algorithm>using namespace std;// 定义长整型别名:防止乘法过程中溢出int范围(如1e5级别的数相乘)
typedef long long LL;// 常量定义:
// N=100010:预留的常量(本模板未直接使用,适配扩展场景)
// mod=1e9+7:模数(质数,适配费马小定理求逆元)
const int N = 100010, mod = 1e9 + 7;// 快速幂函数:计算 (a^k) mod p 的结果(费马小定理求逆元的核心)
// 参数:a-底数,k-指数,p-模数(本题中p=mod是质数)
int qmi(int a, int k, int p)
{int res = 1; // 初始化结果为1(乘法单位元)// 二进制分解指数k,时间复杂度O(logk)while (k){// k&1:判断k的二进制最低位是否为1(等价于k%2==1)if (k & 1) res = (LL)res * a % p; // 结果乘当前底数,转LL防溢出a = (LL)a * a % p; // 底数平方,转LL防溢出k >>= 1; // 指数右移一位(等价于k /= 2)}return res; // 返回 (a^k) mod p
}int main()
{int n; // n:求第n个卡特兰数cin >> n;// 卡特兰数公式:Catalan(n) = C(2n, n) / (n+1)// 第一步:计算组合数C(2n, n)的分子部分:(2n) * (2n-1) * ... * (n+1)int a = n * 2, b = n; // a=2n(组合数C(2n,n)的总数),b=n(选取数)int res = 1;// 循环b次,计算分子:(2n) * (2n-1) * ... * (2n - n + 1) = (2n)! / n!for (int i = a; i > a - b; i -- ) res = (LL)res * i % mod;// 第二步:除以分母n!(模运算中除法转乘逆元)// 分母是n! = 1*2*...*n,依次乘每个数的逆元for (int i = 1; i <= b; i ++ ) res = (LL)res * qmi(i, mod - 2, mod) % mod;// 第三步:除以(n+1)(卡特兰数公式的最后一步,同样转乘逆元)res = (LL)res * qmi(n + 1, mod - 2, mod) % mod;// 输出第n个卡特兰数 mod 1e9+7的结果cout << res << endl;return 0;
}
http://www.jsqmd.com/news/613873/

相关文章:

  • 企业智能体,不是聊天机器人升级版
  • 2026年济南手机软件开发厂家推荐:系统软件开发/直播软件开发/行业软件开发/定制软件开发专业服务商 - 品牌推荐官
  • 2026雅思写作高效自学指南:痛点解析与优质网课精选 - 品牌2025
  • Burpsuite之暴力破解+验证码识别 | 添柴不加火敢
  • 三个角度分析AI自动写文+自动发布自媒体矩阵提效实测
  • 2026年有详细解析的雅思机考软件哪个好用?仿真模考,全解析工具推荐 - 品牌2026
  • 2026开发者App质量监控工具盘点与选型
  • 2026届最火的六大AI辅助写作工具实际效果
  • 西门子S7-1200与G150变频器的PROFIBUS通信控制实战
  • 74.Acwing基础课第888题-简单-求组合数Ⅳ
  • 2026年兰州设备搬迁指南:为何“甘肃蚂蚁搬家”成为政企首选? - 深度智识库
  • 用户画像构建的7个关键步骤(从数据收集到标签建模)
  • 湖北鑫巨达工贸有限公司:高要区多玛地弹簧 多玛电动地弹簧出售公司 - LYL仔仔
  • 2026年甘肃门禁系统公司优选 覆盖兰州及各地市工程适配需求 - 深度智识库
  • PostgreSQL 技术日报 (4月9日)|JSON 搜索架构解锁,PG 迁移时机有讲究
  • Llama-3.2V-11B-cot作品集:10个真实场景下图文推理输出效果高清对比展示
  • 2026年4月福建气动衬氟阀/衬氟管道/衬氟管件/衬氟弯头/衬氟补偿器厂家哪家好 - 2026年企业推荐榜
  • OpenClaw备份恢复方案:千问3.5-35B-A3B-FP8任务配置的迁移技巧
  • 探索NWaves:C#中的高效信号处理与音频分析实战
  • 002、Python开发环境搭建:从官网下载到安装完成
  • 2026年雅思阅读网课怎么选?高性价比线上课程与小班一对一深度指南 - 品牌2025
  • Vue + Iframe 实战:打造企业级流程配置中心揪
  • 微型创业利器:OpenClaw+Qwen3.5-9B实现单人电商运营
  • 2026年有成绩报告的雅思机考软件推荐:5款好用软件深度测评 - 品牌2026
  • 无PFAS阻燃PC材料厂家聚赛龙方案
  • C++去重函数unique超详解|有序数组去重必学
  • 2026年聚山梨酯厂家创新服务排行榜 - 速递信息
  • 3D打印螺纹设计革命:Fusion 360专用优化配置文件深度解析
  • 博客标题:智契通项目开发周记(第一周):架构设计与基础环境搭建
  • 基于Qwen3-ForcedAligner-0.6B的小说音频版自动生成系统