BZOJ2982: combination
来源:互联网 发布:mac删除launchpad图标 编辑:程序博客网 时间:2024/05/18 00:19
BZOJ2982
【代码】
#include <cstdio>#include <iostream>#include <algorithm>#define N 10007#define mod 10007#define INF 0x7fffffffusing namespace std;typedef long long ll;ll read(){ ll x=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();} while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*f;}int n,m,T;int Fac[N];int Qpow(int x,int y){ int rtn=1; while(y) { if(y&1) rtn=rtn*x%mod; x=x*x%mod;y>>=1; } return rtn;}int C(int x,int y){ return Fac[x]*Qpow(Fac[y],mod-2)%mod*Qpow(Fac[x-y],mod-2)%mod;}int Lucas(int x,int y){ if(x<y) return 0; if(x<mod&&y<mod) return C(x,y); return Lucas(x/mod,y/mod)*Lucas(x%mod,y%mod)%mod;}int main(){ T=read();Fac[0]=1; for(int i=1;i<mod;i++) Fac[i]=Fac[i-1]*i%mod; while(T--) { n=read(),m=read(); printf("%d\n",Lucas(n,m)); } return 0;}
阅读全文
0 0
- 【bzoj2982】combination
- BZOJ2982: combination
- [bzoj2982]combination
- BZOJ2982 combination
- bzoj2982 combination
- 【bzoj2982】 combination LUCAS定理
- 【bzoj2982】【combination】【Lucas定理】
- BZOJ2982——combination
- 【lucas定理】BZOJ2982 combination
- BZOJ2982: combination(Lucas定理)
- Lucas定理模板【bzoj2982】【combination】
- bzoj2982: combination 组合数 卢卡斯定理
- [BZOJ2982]combination(组合数学lucas定理)
- 组合数学lucas定理 BZOJ2982 combination
- [bzoj2982]combination(组合数学lucas定理)
- bzoj2982 combination【Lacus定理+线性求逆元】
- bzoj2982 -- Lucas定理
- combination
- sublime好看的字体设置
- java多线程之synchornized原理以及原子操作探究学习
- Linux系统调用列表(四)用户管理
- 一种BootLoader的分析说明
- 设计模式—观察者模式(十)
- BZOJ2982: combination
- 集训DAY1 机房测试(贪心,图论)
- 2017-6-1
- svn提交日志长度限制脚本
- myecplise连接mysql
- Python正则表达式
- 转码推流器
- uva 10283The Kissing Circles
- Linux系统调用列表(五)进程间通信