题目:
明明是lucas定理裸题……
非常需要注意C( )里 if ( n<m ) return 0; !!!!!
可以预处理阶乘和其逆元,也可以现求。现求阶乘逆元的话,可以把 jc[m] 和 jc[n-m] 乘起来再放到pw里。
#include#include #include #define ll long longusing namespace std;const int mod=10007;int T,n,m,jc[mod+5],ans;int pw(int x,int k){ int ret=1;while(k){ if(k&1)(ret*=x)%=mod;x=(ll)x*x%mod;k>>=1;}return ret;}void init(){ jc[0]=1; for(int i=1;i
#include#include #include #define ll long longusing namespace std;const int mod=10007;ll n,m;int T,jc[mod+5],jcn[mod+5],ans;int pw(int x,int k){ int ret=1;while(k){ if(k&1)(ret*=x)%=mod;(x*=x)%=mod;k>>=1;}return ret;}void init(){ jc[0]=1; for(int i=1;i =0;i--)jcn[i]=jcn[i+1]*(i+1)%mod;}int C(int n,int m){ if(n