(新)乘法逆元+组合数求解
逆元:
四种求解方式
https://www.cnblogs.com/kuangbiaopilihu/p/12921745.html#43-%E5%A6%82%E4%BD%95%E6%B1%82%E4%B9%98%E6%B3%95%E9%80%86%E5%85%83
组合数:
1.递推求解
2.线性求解
void init() { fac[0]=ny[0]=1; for(int i=1;i<=n;i++)fac[i]=fac[i-1]*i%mod; ny[n]=qpow(fac[n],mod-2,mod); for(int i=n-1;i>=1;i--)ny[i]=ny[i+1]*(i+1)%mod;
//阶乘逆元的线性求法,求出一个,剩下的递推就行 } int C(int n,int m) {return fac[n]*ny[m]%mod*ny[n-m]%mod;}
// 因为 1<i<p,所以 p/i 一定小于 p ny[1] = 1; for (int i = 2; i < p; ++i)
{ ny[i] = (long long)(p - p / i) * ny[p % i] % p; // 注意最后的模 p 不要忘记 }
//也可直接这么线性推出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具