标签:图片 包括 ret 程序员 while content main time one
【数据范围】
对于30%的数据,保证1<=m<=n<=1000
对于100%的数据,保证1<=m<=n<=1000000
1 #include<bits/stdc++.h> 2 using namespace std; 3 int const N=1000000+10; 4 int const mod=20100403; 5 int inv[N<<1],n,m,pw[N<<1]; 6 int ksm(int x,int y){ 7 int ret=1; 8 while (y){ 9 if(y&1) ret=1LL*ret*x%mod; 10 x=1LL*x*x%mod; 11 y>>=1; 12 } 13 return ret; 14 } 15 int calc(int x,int y){ 16 return 1LL*pw[x]*inv[y]%mod *inv[x-y] % mod; 17 } 18 int main(){ 19 scanf("%d%d",&n,&m); 20 pw[0]=1; 21 for(int i=1;i<=n+m;i++) 22 pw[i]=1LL*pw[i-1]*i%mod; 23 inv[n+m]=ksm(pw[n+m],mod-2); 24 for(int i=n+m-1;i>=0;i--) 25 inv[i]=1LL*inv[i+1]*(i+1)%mod; 26 printf("%d\n",(calc(n+m,n)-calc(n+m,n+1)+mod)%mod); 27 return 0; 28 }
标签:图片 包括 ret 程序员 while content main time one
原文地址:https://www.cnblogs.com/ZJXXCN/p/11538054.html