lucas 快速求大数组合数
2024-09-03 07:29:37
根据公式就是 对每次C(n,m) = C(n%p,m%p) * C(n/p,m/p);
ll pow(ll x,ll n) {
ll res = ;
x%=mod;
while (n) {
if(n&) res = res*x%mod;
x = x*x %mod;
n >>=;
}
return res;
} ll C(ll n,ll m) {
if(n < m) return ;
// c(n,m) = n!/m!/(n-m)!
ll res = ;
for(int i=; i<=m; i++) {
ll a = (n+i-m)%mod;
ll b = i%mod;
res = res*(a*pow(b,mod-)%mod)%mod;
}
return res;
} ll Lucas(ll n,ll m) {
if(m == ) return ;
return C(n%mod, m%mod) * Lucas(n/mod,m/mod)%mod;
}
最新文章
- C# JSon转换
- CSS基础知识真难啊-background-渐变
- ios Coredata 的 rollback undo 等事物处理函数
- CI 框架中的自定义路由规则
- 重磅消息:JavaFX官方文档翻译完毕
- SwfUpload vs里运行可以上传文件,放到iis上上传就报404错误。
- UVa1349 Optimal Bus Route Design(二分图最佳完美匹配)
- 物理引擎简介——Cocos2d-x学习历程(十三)
- Linux malloc大内存的方法
- Swing 显示良好JPanel保存为图片
- mybatis mapper.xml 写关联查询 运用 resultmap 结果集中 用 association 关联其他表 并且 用 association 的 select 查询值 报错 java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for mybatis.map
- Python 阿里大于发送手机验证码
- Windows 10 无法使用搜索栏,显示一片空白
- 关于eclipse tomcat 无法启动(8080,8005,8009端口被占用)的解决方法,附 eclipse tomcat 与 tomcat 并存方式
- MySql 在cmd下的学习笔记 —— 有关储存过程的操作(procedure)
- Servlet与HTTP介绍学习
- nodejs区分开发环境和生产环境
- VMware下centos桥接模式静态ip配置
- Qt 立体水晶按键实现
- VREP中使用其它Lua库