【笔记】数论合集
各种各样的恒等式
- \(x=\sum_{d|x}\varphi(d)\)【GCD SUM】p.s. 这个题就直接把 gcd 替换成 \(\varphi\) 就好了。
exgcd
对于一个关于 \(x,y\) 的方程:\(ax+by=c\)。
首先可以用裴蜀定理判有无解,即有解的充要条件是 \(\gcd(a, b) \mid c\)。
通过 exgcd 可以求出其特解:\(x_0,y_0\)。
那么其通解即为:\(x = x_0 + \frac bd t, y = y_0 - \frac adt,\ d=\gcd(a,b)\)。
若想得到 \(y\) 的最小非负数解,令 \(r=\frac ad\),则 \(y=(y\bmod r+r)\bmod r\)
int exgcd (int a, int b, int &x, int &y) {
if (!b) return x = 1, y = 0, a;
int d = exgcd(b, a % b, y, x);
return y -= a / b * x, d;
}
crt / excrt
假如我们已经拿到了前 \(i-1\) 的答案 \(ans\),则通解可以被表示为 \(ans+Mx\),其中 \(M=\text{lcm}(m_1,m_2,\dots,m_{i-1}),x\in \mathbb Z\)。
现在只需找到让 \(ans+Mx\equiv a_i\pmod {m_i}\) 成立的 \(x\) 即可。
转化一下也即:\(Mx+m_iy=a_i-ans\),一看就是 exgcd 求出一组特解即可。
p.s. 如果对于原条件:\(x\equiv a_i\pmod{m_i}\)。中间多了一些系数也可以通过上面这种推导出 exexcrt(大雾。【[NOI2018] 屠龙勇士】
Wilson 定理
对于任意实数 \(p\):
- 如果 \(p\) 是质数,则有 \(p\mid(p-1)!+1\);(定理本体
- 如果 \(p\) 不是质数,则有 \(p\mid(p-1)!\)(讲 \(p\) 拆成两个较小的因数,显然成立

浙公网安备 33010602011771号