除草
做一个题发现了一个逆元的知识盲点,就是阶乘的逆元
然后发现了可以这样
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;
发现这个以后惊呆了
就是那种这明明没有什么特别难理解的道理可是就是忘了那些最基本的道理的感觉
继续努力
本文分享了一种高效计算阶乘逆元的方法,利用快速幂求最末项逆元,再递归计算整个序列,提高了组合数计算的速度。
除草
做一个题发现了一个逆元的知识盲点,就是阶乘的逆元
然后发现了可以这样
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;
发现这个以后惊呆了
就是那种这明明没有什么特别难理解的道理可是就是忘了那些最基本的道理的感觉
继续努力
2047