ll C(ll n,ll m){
if (n<m)return 0;
if (n<0||m<0)return 0;
ll ans=1,vis=0;
ll lst[11];
for (ll i=1;i<=m;i++){
lst[i]=n-i+1;
for (ll j=1;j<=m;j++){
if (vis>>(j-1)&1)continue;
if (lst[i]%j==0){
lst[i]/=j;vis|=1<<(j-1);
}
}
}
for (ll i=1;i<=m;i++)ans*=lst[i],ans%=mod;
return ans;
}
将这段代码换为下面这段后即可AC:
fac=m!
ll C(ll n,ll m){
ll MOD=fac*mod;
ll ret=1;
for(ll i=1;i<=m;i++)
ret=(ret*(n-i+1))%MOD;
return ret/fac%mod;
}