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

预处理阶乘与阶乘逆元

[适用范围]

​ 在某些需要多次计算组合数 \(C^{m}_{n}\) 或排列数 \(A^{m}_{n}\) 并要求将答案对一个大质数取模(如 \(998244353\))的题目中,每次暴力地计算显然会超时。根据排列数与组合数的定义,就需要预处理出阶乘以及阶乘的逆元来优化。

[具体思路]

​ 阶乘很好预处理,设 \(fac_i = i!\) ,则有下式:

\[fac_i = \begin{cases}1 & \text{ if } x = 0 \\fac_{i - 1} \times i & \text{ if } x \ge 1 \end{cases} \]

​ 递推即可。

​ 设 \(inv_i\)\(fac_i\) 模质数 \(p\) 的逆元,发现不容易正推,考虑倒推求解。

​ 先使用费马小定理和快速幂将 \(inv_n\) 的值算出来,有:

\[inv_n = (fac_n)^{-1} \equiv fac_n^{p - 2} (\bmod p) \]

​ 再倒推:

\[inv_i \equiv inv_{i + 1} \times (i + 1) (\bmod p) \]

​ 然后就处理完了。

code

#define ll long longll fpow(ll x, ll y) {ll res = 1, t = x;while(y) {if(y & 1) res = (res * t) % MOD;t = (t * t) % MOD;y >>= 1;}return res;
}ll fac[N + 10], inv[N + 10];void init() {fac[0] = 1;for(int i = 1; i <= n; i++) fac[i] = (fac[i - 1] * i) % MOD;inv[n] = fpow(fac[n], MOD - 2);for(int i = n - 1; i >= 0; i--) inv[i] = (inv[i + 1] * (i + 1)) % MOD;
}
http://www.jsqmd.com/news/1367918/

相关文章:

  • create-react-native-module vs react-native-create-library:终极优势对比与无缝迁移指南
  • 2026年寄大件怎么寄最划算?大件快递省钱攻略全解析 - 快递物流资讯
  • ricq核心功能全解析:登录方式、消息类型与事件处理终极教程
  • Agent Governance Toolkit完全指南:从零开始构建安全AI代理系统
  • Windows系统优化终极指南:用Winhance让你的电脑重获新生
  • 智慧景区系统哪家好?itc 保伦股份深挖实景光影演艺流量增长逻辑 - 全域品牌推荐
  • # 2026 免费工具实测:手把手保姆级教学,音频转 MP3 用这三款小程序就够了(支持 FLAC/WAV 批量转 320k 高码率) - 今日咨询
  • 高效掌控PC散热:3个步骤让FanControl成为你的终极风扇控制方案
  • 打造你的专属桌面伙伴:DyberPet桌宠框架完全指南 [特殊字符]
  • 2026年ABS颗粒全自动吨袋包装机选购注意事项:认准广州恒尔,以专业技术与完善售后,保障生产无忧 - 品牌速递
  • 加班晚归找吃的,郑州夜宵好去处4家火锅外卖实测
  • notify未来路线图:即将支持的新平台与功能预览
  • 电动车怎么运回家最便宜?2026年托运避坑全攻略 - 快递物流资讯
  • 2026年微信公众号文章在哪里编辑?新手免费微信图文编辑软件精选5款 - 鹅鹅鹅ee
  • 2026青岛卫生间漏水避坑指南 - 企业资讯
  • GitHub SSH密钥配置与故障排查指南
  • 深度探索:macOS Sequoia中OBS虚拟摄像头的创新解决方案
  • 终极免费波表合成器Vital:如何用光谱变形技术创造专业音色
  • 2026长沙卫生间漏水避坑指南 - 企业资讯
  • Reloaded-II实战手册:打造游戏模组生态的终极解决方案
  • 5步打造你的专属桌面伙伴:DyberPet桌面宠物框架完全指南
  • 八月十日
  • 2026年改性塑料颗粒全自动吨袋包装机选型攻略:广州恒尔凭多项核心优势,成为众多行业客户的共同选择 - 品牌速递
  • 2026嘉兴卫生间漏水避坑指南 - 企业资讯
  • 2026货运干线管控升级,治超不停车称重系统信得过品牌广州聚杰 - 品牌速递
  • Swift 6元编程与泛型:5个代码生成技巧提升开发效率
  • Pingo在生产环境中的应用:部署、监控与维护最佳实践
  • 【Java核心高阶进阶】13-经典垃圾收集器
  • 如何为本地音乐库批量下载同步歌词:LRCGET完整使用指南
  • 从0到1搭建响应式网站:_tw主题的完整安装与配置教程