逆元小结
\(p\) 为素数且 \(a,p\) 互素时
根据费马小定理,就是 \(a^{p-2}\)。
平凡的情况
解 \(ax \equiv 1 \pmod p\)
从 \(1\) 到 \(n\) 的
对于每个 \(i\),有 \(p=ki+r\)。
\(ki+r \equiv 0 \pmod p \rightarrow kr^{-1} +i^{-1} \equiv 0 \pmod p\)。
\(i^{-1} \equiv -kr^{-1} \equiv -\lfloor p/i \rfloor (p \bmod i)^{-1} \pmod p\)
\(1!\) 到 \(n!\)
先费马小定理求 \((n!)^{-1}\)。
\((i!)^{-1} \equiv 1/i! \equiv 1/(i+1)! \times (i+1) \equiv ((i+1)!)^{-1} \times (i+1) \pmod p\)
适用于 \(n<p\) 时。
所以我比较推崇这种方法:先算 \(1 \sim n\) 的,然后递推乘起来
for(int i=2; i<=n; i++)
ni[i] = (ll)(p-p/i) * ni[p%i] % p;
for(int i=2; i<=n; i++)
ni[i] = (ll)ni[i-1] * ni[i] % p;
拙いものと思えども、
その手に握る其れこそが、
いつか幻想を生んでいく。

浙公网安备 33010602011771号