〔Fancy Zone〕中国剩余定理与BSGS

题单介绍

# ![og](https://s21.ax1x.com/2024/09/29/pA1gXh8.jpg) **一、中国剩余定理(Chinese Remainder Theorem)** 中国剩余定理,又称孙子定理,是数论中的一个重要定理。 它表述为:设正整数 $m_1, m_2, \cdots, m_n$ 两两互质,$M = m_1 \times m_2 \times \cdots \times m_n$ ,$M_i = \frac{M}{m_i}$ ,则同余方程组: $$\begin{cases} x \equiv a_1 \pmod{m_1} \\ x \equiv a_2 \pmod{m_2} \\ \cdots \\ x \equiv a_n \pmod{m_n} \end{cases}$$ 在模 $M$ 意义下有唯一解 $x \equiv a_1 M_1 y_1 + a_2 M_2 y_2 + \cdots + a_n M_n y_n \pmod{M}$ ,其中 $M_i y_i \equiv 1 \pmod{m_i}$ 。 例如:有同余方程组 $\begin{cases} x \equiv 2 \pmod{3} \\ x \equiv 3 \pmod{5} \\ x \equiv 2 \pmod{7} \end{cases}$ 首先,$m_1 = 3$,$m_2 = 5$,$m_3 = 7$,$M = 3 \times 5 \times 7 = 105$ 。 $M_1 = \frac{105}{3} = 35$,求解 $35y_1 \equiv 1 \pmod{3}$,可得 $y_1 = 2$ 。 $M_2 = \frac{105}{5} = 21$,求解 $21y_2 \equiv 1 \pmod{5}$,可得 $y_2 = 1$ 。 $M_3 = \frac{105}{7} = 15$,求解 $15y_3 \equiv 1 \pmod{7}$,可得 $y_3 = 1$ 。 则解为 $x \equiv 2 \times 35 \times 2 + 3 \times 21 \times 1 + 2 \times 15 \times 1 \equiv 23 \pmod{105}$ 。 **二、BSGS(Baby Step Giant Step)** BSGS 算法主要用于求解形如 $a^x \equiv b \pmod{p}$ 的离散对数问题。 基本思想是将指数 $x$ 分为两部分,即 $x = im - j$ ,其中 $m = \lceil\sqrt{p}\rceil$ 。 首先计算出所有 $a^j \pmod{p}$ ($0 \leq j < m$),并存储在一个哈希表中。 然后对于 $i = 0, 1, 2, \cdots, m - 1$ ,计算 $b \times (a^{-m})^i \pmod{p}$ ,在哈希表中查找是否存在对应的 $a^j$ 。 例如:求解 $2^x \equiv 3 \pmod{7}$ 。 取 $m = \lceil\sqrt{7}\rceil = 3$ 。 计算 $2^0 \equiv 1 \pmod{7}$ ,$2^1 \equiv 2 \pmod{7}$ ,$2^2 \equiv 4 \pmod{7}$ 。 然后计算 $3 \times 2^{-3} \equiv 3 \times 4 \equiv 5 \pmod{7}$ ,未在哈希表中找到。 计算 $3 \times (2^{-3})^2 \equiv 3 \times 2 \equiv 6 \pmod{7}$ ,未在哈希表中找到。 计算 $3 \times (2^{-3})^3 \equiv 3 \times 1 \equiv 3 \pmod{7}$ ,在哈希表中找到对应的 $2^1$ ,所以 $x = 3 \times 3 - 1 = 8$ 。 --- ###### *题单贡献者:* ###### *题目编排:[djxstc](https://www.luogu.com.cn/user/1020627)* ###### *笔记补充:[BunDragon126](https://www.luogu.com.cn/user/927203)* ###### 中国剩余定理与BSGS笔记 &copy; Fancy Zone OI 版权所有 | 感谢上方贡献人员!

题目列表

  • 【模板】中国剩余定理(CRT)/ 曹冲养猪
  • 【模板】扩展 BSGS / exBSGS
  • 【模板】扩展中国剩余定理(EXCRT)
  • Biorhythms
  • [SDOI2010] 古代猪文