一、求
1.转换成n! / (m!*(n-m)!)%p
2. 1 / m!%p=pow(m!,mod-2) % p
3.开两个数组分别求阶乘的取模和阶乘的逆元取模(比其他方法块)
ll power(ll a,ll n){
ll res=1;
for(;n;n>>=1,a=a*a%mod)
if(n&1)
res=res*a%mod;
return res;
}
ll fac[N],inv[N];
fac[0]=inv[0]=1;
for(int i=1;i<N;i++){
fac[i]=fac[i-1]*i%mod;
inv[i]=power(fac[i],mod-2);
}
ll C(int m,int n){
if(m<n)
return 0;
return fac[m]*inv[n]%mod*inv[m-n]%mod;
}
二、其他方法
链 接:https://blog.csdn.net/acdreamers/article/details/8037918
Lucas定理:https://blog.csdn.net/liangzhaoyang1/article/details/52132986