exgcd

\[x = y \ \\ y = t - a /b \times y \]

CRT

\[ans = \sum_{i = 1}^n{b_i\times M_i\times inv(M_i,mod_i)} \]
\[M_k=(\prod_{i=1}^n {} mod_i)/mod_k \]
\[inv(M_i, mod_i)表示M_i在模mod_i意义下的逆元 \]

EXCRT

原理:合并同余方程
对于 两个同余方程

\[x \equiv r_1(mod \ m_1) \\ x\equiv r_2(mod\ m_2) \]

\[k_1m_1-k_2m_2=r_2-r_1 \]

显然可以解出\(k_1, k_2\),然后则有:

\[x \equiv r_1 + k_1 \times m_1(mod\ lcm(m_1, m_2)) \]

依次合并就可以了

BSGS

\[求解方程y^x\equiv z (mod\ p) \ \ gcd(y, p) = 1 \]

\(x = am-b\)

\[y^{am}\equiv z \times y^b \]

由费马小定理\(a^p\equiv 1(mod \ p)\)
\(am <= p\)即可
所以当\(m = ceil(\sqrt p)\)时取最低复杂度,两边暴力枚举即可。