数论学习大纲

不知道该写点啥了,正好最近在从零开始重学数论,那就抄书吧(

质数 / 约数

筛子略。

质因数分解

  • 直接枚举约数,复杂度 \(O(\sqrt{n})\)
  • 预处理质数,复杂度 \(O(V+\sqrt{\frac{n}{\ln n}})\)
  • \(\text{Pollard-Rho}\),不确定性算法,复杂度 \(O(n^{\frac{1}{4}})\)

唯一分解定理

任意正整数可被唯一表示成 \(\prod p_i^{c_i}\) 形式。

求正约数集合

  • 直球枚举,复杂度 \(O(\sqrt{n})\)
  • \([1,n]\) 每个正整数约数集合,调和级数。

欧拉函数

\(\phi(n)\) 表示 \([1,n]\)\(n\) 互质的整数个数。

\(\phi(n)=n\prod\limits_{prime~p|n}\frac{p-1}{p}\)

性质:

  • \(n>1\),\([1,n]\)\(n\) 互质的整数和为 \(\frac{n·\phi(n)}{2}\)
  • \(a\perp b,\phi(ab)=\phi(a)\phi(b)\)
  • \(\sum[d|n]\phi(d)=n\)
  • 一些显然的性质略。

例题:CF594D

三轮省集最后一天猫昕出了个牛逼题,是上面这题的巨大加强版,我还不会做,回头研究研究。

反素数

约数个数多于小于该整数的所有整数的一类整数。

性质:

  • \([1,n]\) 中最大的反素数是约数个数最多的数中最小的一个,易证。
  • 整数 \(x\) 为反质数的必要条件:分解质因数后可写作 \(2^{c_1}\times 3^{c_2}\times 5^{c_3} \cdots\) 形式,且数列 \(c_i\) 单调不升。

求反素数:直接 \(\text{DFS}\),搜索量很小。

有板子题,不放了。

gcd(最大公约数)

\(gcd(a,b)=gcd(b,a-b)=gcd(a,a-b)=gcd(b,a\mod b)\)

\(gcd(a,b)·lcm(a,b)=ab\)

\(\text{gcd}\):更向减损 / 辗转相除。

同余

剩余系:模意义下的余数域。

简化剩余系:完全剩余系中与模数互质的元素构成的子集,模意义下乘法封闭。

一些定理

费马小定理:若 \(p\) 为质数,\(\forall a\in N^*,a^p\equiv a\pmod p\)

乘法逆元:\(a^{-1}\equiv a^{p-2}\pmod p\)

欧拉定理:若 \(a\perp n\),则对于任意 \(b\in N^*,a^b\equiv a^{b\mod\phi(n)}\pmod n\)

扩展欧拉定理:不存在互质性质时,\(a^b\equiv a^{b\mod\phi(n)+\phi(n)}\pmod n\)

例题:Luogu P4319

裴蜀定理:方程 \(ax+by=gcd(a,b)\) 有解。

拓展:方程 \(ax+by=c\) 有解当且仅当 \(gcd(a,b)|c\)

exgcd(扩展欧几里得)

得到 \(gcd(a,b)\) 的同时求 \(ax+by=gcd(a,b)\) 的特解 \((x_0,y_0)\)

原理及实现略。

\(d=gcd(a,b)\),则 \(ax+by=c\) 的通解:\(x=\frac{c}{d}x_0+k\frac{b}{d},y=\frac{c}{d}y_0+k\frac{a}{d}\)

求正整数解组数:\(\lceil-\frac{d}{a}y_0\rceil\leq k\leq\lfloor\frac{d}{b}x_0\rfloor\)

类欧几里得(还不会,鸽了)

咕咕咕

CRT(中国剩余定理)

求方程组

\(x\equiv\begin{cases}a_1&\pmod{m_1}\\a_2&\pmod{m_2}\\\vdots\\a_n&\pmod{m_n}\end{cases}\)

的一个解,所有模数互质。

原理及实现略。

例题:Luogu P2480(???)

扩展 1:模数不互质

递推实现。求出前 \(i-1\) 个方程的通解后移项,构造可以进行 \(\text{exgcd}\) 的形式。

注意精度问题,有时候要用到龟速乘和大数快速乘法。

扩展 2:系数不为 1

每个方程形如 \(k_ix\equiv a_i\pmod{m_i}\),模数不互质。

和扩展 1 基本一致,注意 \(lcm\) 的更新方式有差别。

例题:Luogu P4774

BSGS

求解高次同余方程 \(a^x\equiv b\pmod p\)\(a\perp p\)

平衡思想。根号分治,套哈希表。

两个扩展(暂时鸽了,会了之后回来补)

咕咕咕。


困死了我先写这点吧。

posted @ 2021-10-07 23:46  LFCode  阅读(97)  评论(1编辑  收藏  举报