1 ll pow(ll a,ll b,ll mod) 2 { 3 ll res=1; 4 // if(a==0) return res; 5 while(b) 6 { 7 if(b&1) res=(res*a)%mod; 8 a=(a*a)%mod; 9 b>>=1; 10 } 11 return res; 12 } 13 void init() 14 { 15 inv[1]=1; 16 for(int i=2;i<n;i++)//逆元 17 inv[i]=(mod-mod/i)*1ll*inv[mod%i]%mod; 18 F[0]=Finv[0]=1; 19 for(int i=1;i<n;i++) 20 { 21 F[i]=F[i-1]*i*1ll%mod;//阶乘 22 Finv[i]=Finv[i-1]*1ll*inv[i]%mod;//阶乘 23 } 24 } 25 int comb(int n,int m)//求Cnm 26 { 27 if(m<0||m>n) return 0; 28 return F[n]*1ll*Finv[n-m]%mod*Finv[m]%mod; 29 }
[数论]
猜你喜欢
转载自www.cnblogs.com/Kaike/p/12965446.html
今日推荐
周排行