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

题解:AcWing 889 满足条件的01序列

【题目来源】

AcWing:889. 满足条件的01序列 - AcWing题库

【题目描述】

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

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

【输入】

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

【输出】

共一行,包含一个整数,表示答案。

【输入样例】

3

【输出样例】

5

【解题思路】

image

image

image

image

image

【算法标签】

《AcWing 889 满足条件的01序列》 #组合数学# #组合计数# #卡特兰数# #逆元# #快速幂# #费马小定理#

【代码详解】

#include <bits/stdc++.h>
using namespace std;typedef long long LL; // 定义 LL 为 long long 类型
const int N = 100005, mod = 1e9 + 7; // 定义常量 N 和 mod
LL infact[N]; // infact 数组存储阶乘的逆元// 快速幂函数,计算 a^b % p
int qmi(int a, int b, int p)
{int res = 1; // 初始化结果为 1while (b > 0) { // 当 b 大于 0 时循环if (b & 1) res = (LL)res * a % p; // 如果 b 的最低位为 1,更新结果a = (LL)a * a % p; // 更新 ab >>= 1; // 右移 b}return res; // 返回结果
}int main()
{int n; // 定义整数 ncin >> n; // 输入整数 nint res = 1; // 初始化结果为 1// 计算 (2n)! / (n+1)! / n! 的模数for (int i = 2 * n; i > n; i--) res = (LL)res * i % mod; // 计算 (2n)! / n! 的模数infact[0] = 1; // 初始化 infact[0] 为 1for (int i = 1; i <= n; i++) // 计算 1 到 n 的阶乘逆元infact[i] = infact[i - 1] * qmi(i, mod - 2, mod) % mod; // 递推计算阶乘逆元res = (LL)res * infact[n] % mod; // 计算 (2n)! / (n+1)! / n! 的模数res = (LL)res * qmi(n + 1, mod - 2, mod) % mod; // 除以 (n+1) 的模数cout << res << endl; // 输出结果return 0; // 程序结束
}

【运行结果】

3
5
http://www.jsqmd.com/news/409324/

相关文章:

  • .NET 11 预览版1:CoreCLR 在 WebAssembly 上的全面集成与性能突破
  • 题解:AcWing 888 求组合数 IV
  • 题解:AcWing 887 求组合数 III
  • Java 方法引用
  • Java基础(下)之Stream
  • Java基础(下)之方法引用
  • 题解:AcWing 886 求组合数 II
  • 题解:AcWing 885 求组合数 I
  • 功能炸裂!推荐一款低代码数据大屏可视化系统,内置丰富模版,支持拖拽构建炫酷大屏
  • 视频孪生终结者:镜像视界空间神经系统与空间控制权重构——融合统一空间坐标反演体系 × 三维实时定位引擎 × 多路径概率展开模型 × 前向围堵优化算法的跨行业空间压制与主动调度控制平台
  • 大数据领域数据产品的搜索功能优化
  • AI原生应用开发:如何利用Copilot实现代码质量与效率双提升
  • HNOI 2026 退役记
  • 从零开始:使用 Claude Code 打造字母消除游戏
  • 价值投资中的AI智能体可持续发展能力分析系统
  • AI模型部署自动化的核心:镜像+编排+监控的三位一体设计
  • 微信小程序 uniapp+vue老年人心血管健康
  • 基于径向基神经网络(RBF)预制构件需求量预测GUI软件
  • Sass/SCSS函数深度解析
  • 1亿条URL去重,怎么搞才不崩?生产级方案全解析(从入门到大厂实战)
  • 强化学习·价值学习-MC,TD和Q-learning算法
  • day95(2.24)——leetcode面试经典150
  • 强化学习·导论
  • 一些喜欢的 ACG 曲
  • 灰色关联度模型正负性问题的研究及其改进附Matlab代码
  • 小程序商城开发怎么选?5 家优质平台实测推荐,避开低价陷阱不踩雷 - 企业数字化改造和转型
  • 基于动态神经网络NARX/GRNN/BP/RBF的IBM收盘价预测-时间序列预测附Matlab代码
  • 性价比封神!微信小程序开发平台排名,零隐形消费平台优先选 - 企业数字化改造和转型
  • 基于经验模态分解和粒子群优化支持向量机(EMD+PSO_SVM)大坝变形预测附Matlab代码
  • Metasploit新手入门|从安装到首次漏洞探测