https://blog.csdn.net/baidu_35643793/article/details/75268911
ll inv[100008],n;
int main()
{
cin.tie(0);
cout.tie(0);
cin>>n;
inv[1]=1;
FOR(i,2,n) inv[i]=(mod-mod/i)*inv[mod%i]%mod;
return 0;
}
//下面是阶乘的逆元
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;
存一个线性模板,mod要是质数