Light OJ 1058
2016-03-14 11:00
225 查看
题意: 简单的就组合数 C(m,n);
数据多,大, 要预处理;
数据多,大, 要预处理;
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 1e6 + 2; const LL MOD = 1000003; LL Pow_Mod(LL a, LL n) { LL ret = 1; while(n) { if(n & 1) ret = ret * a % MOD; n >>=1; a = a * a % MOD; } return ret; } LL Num[maxn], Inv[maxn]; LL Init() { Num[0] = 1; for(LL i = 1; i < maxn; ++i) Num[i] = Num[i-1] * i % MOD; //cout << Num[maxn-1] << endl; Inv[maxn-1] = Pow_Mod(Num[maxn-1], MOD-2); for(LL i = maxn-2; i >= 0; --i) Inv[i] = Inv[i+1] * (i+1) % MOD; } LL C(LL m, LL n) { LL ret = 1; if(n == 0 || n == m) return ret; else { LL s = m-n; //cout << s << endl; ret = Num[m] * Inv[s] % MOD; //cout << Num[m] << " " << Inv[s] << endl; ret = ret * Inv % MOD; //cout << Inv << endl; return ret; } } int main() { Init(); int t; LL m, n; scanf("%d",&t); for(int kase = 1; kase <= t; ++kase) { scanf("%lld %lld",&m,&n) ; printf("Case %d: %lld\n",kase, C(m,n)); } }
相关文章推荐
- Light OJ 1214
- JSTL获取Parameter参数
- C语言——结构体与联合体
- Mybatis高级应用
- 4154: [Ipsc2015]Generating Synergy K-D tree
- java处理高并发高负载类网站的优化方法
- Android NDK UPX加固
- 【Chromium中文文档】Chromium如何展示网页
- AJAX实现跨域的三种种方法(代理,JSONP,XHR2)
- Redhat5.8 环境下编译安装 Redis 并将其注册为系统服务
- Light OJ 1148
- Light OJ 1116
- Light OJ 1078
- Light OJ 1020
- Light OJ 1012
- Light OJ 1011
- Light OJ 1009
- Light OJ 1007
- Light Oj 1005
- oracle11g导出数据库不完善问题解决