//****************************************************************递推 mod要小
ans1[0] = 1;
for(int i=1; i<N; i++)
ans1[i] = ans1[i-1] * i % MOD;
inv[1] = 1;
for(int i=2;i<N;i++)
{
if(i >= MOD) break;
inv[i] = (MOD - MOD / i) * inv[MOD % i] % MOD;
}
//****************************************************************快速幂
ll qpow(ll x,ll a){
ll ret=1;
while(a){
if(a&1) ret=(ret*x)%mod;
x=(x*x)%mod;
a>>=1;
}
return ret;
}
fac[0]=fac[1]=1;
for(int i=2;i<=MAXN;i++)fac[i]=fac[i-1]*i%mod;
inv[MAXN]=quipow(fac[MAXN],mod-2);
for(int i=MAXN-1;i>=0;i--)inv[i]=inv[i+1]*(i+1)%mod;
//****************************************************************
逆元板子
最新推荐文章于 2021-12-03 19:16:12 发布