线性求逆元

目标:1~n中每个数关于p的逆元。

  1. 首先inv(1) = 1恒成立。

  2. 对于i>1,对p拆分,p=ki+j,其中k = p // i,j = p % i。(//为整除,%为模运算)

    那么

    \[ki+j\equiv0\pmod p \]

    两边同乘inv(i)*inv(j)可以推出

    \[-k*inv(j)\equiv inv(i)\pmod p \]

    \[inv(i)\equiv (p - p//i)*inv(p\%i) \pmod p \]

    由上可以O(n)递推。

posted @ 2022-03-08 17:49  cacu  阅读(53)  评论(0编辑  收藏  举报