今天做了一下bzoj 4011,顺便学习了一波如何线性递推求[1,p-1]在模p下的逆元。注意p为素数。
设 a a a的逆元为 a − 1 a^{-1} a−1,根据逆元的定义显然有 a ∗ a − 1 ≡ 1 ( m o d p ) a*a^{-1}\equiv1\pmod p a∗a−1≡1(modp)
首先有1的逆元就是1.
假设现在已经球出了 [ 1 , a − 1 ] [1,a-1] [1,a−1]的逆元,现在考虑如何求 a a a的逆元。
设 k = ⌊ p a ⌋ , r = p m o d    a k=\lfloor\frac{p}{a}\rfloor,r=p\mod a k=⌊a