Lightoj 1067【逆元模板(求C(N,M))】
来源:互联网 发布:淘宝黑莓手机是真的吗 编辑:程序博客网 时间:2024/05/15 17:52
#include <bits/stdc++.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pair<int,int>PII;const double eps=1e-5;const double pi=acos(-1.0);//const int mod=1e9+7;const int INF=0x3f3f3f3f;/*题意:求一个组合数,但是要取膜,所以我们要逆元;思路:利用费法小定理,就可以啦;*///快速幂;const LL mod=1000003;const int N=1e6+10;LL f[N];LL cal(LL g,LL x){ LL ans=1; while(g) { if(g&1) ans=ans*x%mod; x=x*x%mod; g>>=1; } return ans;}//C(N,M)=N!/(M!*(N-M)!);//这里要取膜,所以要逆元(除法不适用于取膜);//这里因为mod是质数,所以利用费马小定理就好了///void solve(LL n,LL m){ printf("%lld\n",f[n]*cal(mod-2,f[n-m])%mod*cal(mod-2,f[m])%mod);}//预处理一个阶乘数组;void init(){ f[0]=1; for(LL i=1;i<=1000000;i++) f[i]=f[i-1]*i%mod;}int main(){ init(); int T,cas=1; scanf("%d",&T); while(T--) { LL n,k; scanf("%lld%lld",&n,&k); printf("Case %d: ",cas++); solve(n,k); } return 0;}
0 0
- Lightoj 1067【逆元模板(求C(N,M))】
- 求C(m,n)的大数模板
- LightOJ 1054 求n^m%mod
- O(N) 求 1~N 逆元 模板及证明
- 求C(n,m)%mod
- Lightoj 1067(逆元)
- 【Lucas定理 && C(n, m)%p && 逆元】FZU
- LightOJ 1054 - Efficient Pseudo Code (求n^m的因子和)
- C语言求组合数C(n,m)
- 模板元编程:求N的阶乘
- LightOJ 1138 给出数字n,求m使得m!的末尾含有n个0
- 给定正整数 N, 求使N < 2^m 成立的最小m(C语言版)
- LightOJ 1245 求(n/1+n/2+...+n/n)
- 快速求排列C(m,n)加取模
- 求C(n,m)%mod的方法总结(未更完)
- 个人模板 组合数 C(m,n)
- 【LightOJ】1067 - Combinations(Lucas & 逆元)
- 求C(n,m)组合问题
- Receiver not registered: android.widget.ZoomButtonsController crash android
- POJ 3277 线段树 + 延迟标记
- Android MediaPlayer和VideoView的使用
- ios7之后导航栏的问题1
- jdbcTemplate的简单使用
- Lightoj 1067【逆元模板(求C(N,M))】
- Android Image开源框架之ImageLoader(二)
- Virtual关键字
- C/C++的64位整型 不同编译器间的比较
- 对URL URI URN的思考
- 并发设计模式之Master-Worker模式
- Android EventBus源码解析 带你深入理解EventBus(转载)
- 关于pt、px、em的转换
- 3342 数据结构实验之二叉树三:统计叶子数