线性求逆元
线性求从1到n的$mod \ p$ 的逆元
设$p=ki+r \ (r<i<p,i>1)$ ①
可以得到
$k=\lfloor \frac{p}{i} \rfloor$ ②
$r=p \ mod \ i$ ③
$ki+r\equiv 0 (mod \ p)$ ④
两边同乘$i^{-1}\cdot r^{-1}$得
$kr^{-1}\cdot i^{-1}\equiv 0 (mod \ p)$
移项得$i^{-1}\equiv -kr^{-1} (mod \ p)$ ⑤
将②③代入⑤
得 $i^{-1}\equiv -\lfloor \frac{p}{i} \rfloor\cdot (p \ mod \ i)^{-1}(mod \ p)$
由于$1^{-1}\equiv 1 (mod \ p)$
所以1到n $mod \ p$逆元就可以线性递推出来了
View Code1 inv[1]=1; 2 for(int i=2;i<=n;i++) 3 inv[i]=-(p/i)*inv[p%i];