数论学习大纲
不知道该写点啥了,正好最近在从零开始重学数论,那就抄书吧(
质数 / 约数
筛子略。
质因数分解
- 直接枚举约数,复杂度 \(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\)。
平衡思想。根号分治,套哈希表。
两个扩展(暂时鸽了,会了之后回来补)
咕咕咕。
困死了我先写这点吧。