ACM数论-求组合数
2024-09-07 07:01:32
我们利用这个公式求阶乘和逆元求阶:
#include<cstdio>
const int N = 200000 + 5;
const int MOD = (int)1e9 + 7;
int F[N], Finv[N], inv[N];//F是阶乘,Finv是逆元的阶乘
void init(){
inv[1] = 1;
for(int i = 2; i < N; i ++){
inv[i] = (MOD - MOD / i) * 1ll * inv[MOD % i] % MOD;
}
F[0] = Finv[0] = 1;
for(int i = 1; i < N; i ++){
F[i] = F[i-1] * 1ll * i % MOD;
Finv[i] = Finv[i-1] * 1ll * inv[i] % MOD;
}
}
int comb(int n, int m){//comb(n, m)就是C(n, m)
if(m < 0 || m > n) return 0;
return F[n] * 1ll * Finv[n - m] % MOD * Finv[m] % MOD;
}
int main(){
init();
printf("%d\n",comb(5,1));
return 0;
}
最新文章
- python中的goto
- [修复] Firemonkey 画线问题(Android &; iOS 平台)
- 调用手机话费充值API的SDK编写思路
- Flask中mongodb实现flask_login保持登录
- 【windows核心编程】DLL相关(1)
- 微软阵营企稳的利好消息:.NET开源、Visual Studio免费
- 浅谈iOS开发的协议(protocol)和代理(delegate)
- HDOJ 2092 整数解(2次方程整数解公式)
- 如何使用 Android Studio 的 git hub 功能
- 关于SQL中Between语句查询日期的问题
- Java线程面试题Top50
- Vim的合并行操作
- puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless
- HeadFirst Ruby 第九章总结 mixins &; modules
- reportviewer需要的3个引用
- vue.js路由vue-router
- fab提供远程IP和账号密码
- spark练习——影评案例
- tornado-About Web
- Tomcat负载均衡和集群环境的搭建
热门文章
- 【转】海量数据处理算法-Bloom Filter
- EntityFramework中经常使用的数据改动方式
- java 实现打印当前月份的日历
- 电子设计省赛--PID
- oracle 导出导入不含数据的空库
- Error CREATEing SolrCore &#39;new_core&#39;: Unable to create core [new_core] Caused by: Can&#39;t find resource &#39;solrconfig.xml&#39; in classpath or &#39;D:\solr\solr-7.2.1\server\solr\new_core&#39;
- 并不对劲的bzoj5341:loj2553:uoj400:p4565:[Ctsc2018]暴力写挂
- python调用window dll和linux so例子
- vss操作说明
- char-rnn-tensorflow源码解析及结构流程分析