码迷,mamicode.com
首页 > 其他好文 > 详细

[BZOJ2982]combination Lucas定理

时间:2017-11-04 00:13:51      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:print   nbsp   int   string   family   style   san   题目   ons   

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2982

$C(N,M)\% P = C(N\% P,M\% P) * C(N/P,M/P)\% P$

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 const int mod=1e4+7;
 6 int inv[10010],fac[10010];
 7 int C(int x,int y){
 8     if(x<y) return 0;
 9     return fac[x]*inv[fac[y]]%mod*inv[fac[x-y]]%mod;
10 }
11 int main(){
12     inv[1]=1;for(int i=2;i<10007;i++) inv[i]=(mod-mod/i)*inv[mod%i]%mod;
13     fac[0]=1;for(int i=1;i<10007;i++) fac[i]=fac[i-1]*i%mod;
14     int Test;
15     scanf("%d",&Test);
16     while(Test--){
17         int N,M;
18         scanf("%d%d",&N,&M);
19         if(N<M){
20             puts("0");
21             continue;
22         }
23         int Ans=1;
24         while(M){
25             Ans=Ans*C(N%mod,M%mod)%mod;
26             N/=mod;
27             M/=mod;
28         }
29         printf("%d\n",Ans);
30     }
31     return 0;
32 }

 

[BZOJ2982]combination Lucas定理

标签:print   nbsp   int   string   family   style   san   题目   ons   

原文地址:http://www.cnblogs.com/halfrot/p/7780630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!