平常插曲

本博客是关于这个\(swj\)sb在考试中出现错误,用于自我检讨.数组

题目中有模数要使用除法

在有模数的状况下不能够直接使用除法,要使用逆元.
逆元有四种方式能够求出,费马小定理,扩展欧几里得,递推式,阶乘求逆元.
设原数是\(a\),模数是\(p\),逆元是\(b\).spa

1.费马小定理

\(b = a^{p-2}\),快速幂求得.博客

2.扩展欧几里得

\(a \times b ≡ 1 (mod\;p)\)class

3.递推式

(只用于模数\(p\)为质数)
\(inv[i] = -\left \lfloor\frac{p}{i} \right \rfloor \times inv[p \% i] \% p\)扩展

4.阶乘

\(fac\)是阶乘数组,\(inv\)是逆元数组.
费马小定理求出\(inv[n] = fac[n]^{p-2}\)
\(inv[i] = inv[i+1] \times (i + 1)\)im