组合数
组合数
定义
- 从
个物品中选 个物品的方案数。 - 记作
或 或 。
性质
代码
莫名其妙拿了个次优解(?
利用乘法逆元快速求解 查询复杂度
仅适用于模数为质数的情况。
ll QuickPow(ll a,ll b){ ll res = 1; while(b){ if(b&1) res = res * a % MOD; a = a * a % MOD; b >>= 1; } return res % MOD; } ll fro[maxN]; inline void pre(ll n){ fro[0] = 1; for(ll i = 1;i<=n;i++) fro[i] = fro[i-1] * i % MOD; } inline ll inv(ll n){ return QuickPow(n,MOD-2) % MOD; } inline ll C(ll n,ll m){ if(n < m) return 0; return fro[n] * inv(fro[m])% MOD * inv(fro[n-m]) % MOD; }
卡特兰数
-
简单来说,卡特兰数就是一个有规律的数列,在坐标图中可以表示为:从原点
出发,每次向 轴或者 轴正方向移动 个单位,直到到达 点,且在移动过程中不越过第一象限平分线的移动方案总数。 -
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库