OI 数学知识合集
最大公约数(gcd)
定义:给定两个数 \(a,b\),\(\gcd(a,b)\) 为最大的 \(d\) 使得 \(d\mid a\) 且 \(d\mid b\)。
求解方法:辗转相除法(欧几里得算法)
定理:\(\boxed{\gcd(a,b)=\gcd(b,a \bmod b)}\)
证明:
设 \(d=\gcd(a,b)\),则 \(d\mid a\) 且 \(d\mid b\)。注意到 \(a\) 可以表示为 \(bk+r(k \in \mathbb{Z})\)。
则 \(d\mid a\) 等价于 \(d\mid bk+r\),因为 \(d\mid b\) 所以 \(d\mid bk\),则 \(d\mid r\)。得证。
裴蜀定理
结论:对于不定方程 \(a_1x_1+a_2x_2+\cdots+a_nx_n=c\),其有解当且仅当 \(\gcd(a_1,a_2,\cdots,a_n)\mid c\)。
证明:
从 \(ax+by=c\) 推广是好证的,所以只需要证 \(ax+by=c\) 的情况。
设最小正元素为 \(x\),则只需证 \(x=\gcd(a,b)\),即 \(x\mid \gcd(a,b)\) 且 \(\gcd(a,b)\mid x\)。
首先 \(\gcd(a,b)\mid ax,\gcd(a,b)\mid by\),所以 \(\gcd(a,b)\mid x\)。
设 \(a=kx+r\),其中 \(r\in[0,x)\)。则
观察到形式一致,说明 \(r\) 也是 \(ax+by=c\) 的一个合法的 \(c\)。因为 \(x\) 是最小正元素,所以 \(r=0\)。得 \(x\mid a\)。同理,\(x\mid b\)。所以 \(x\mid \gcd(a,b)\)。得证。
之后使用数学归纳法,运用 \(\gcd(\gcd(a_1,a_2,\cdots,a_{n-1}),a_n)=\gcd(a_1,a_2,\cdots,a_n)\) 即可推广。
exgcd(扩展欧几里得)
其用途是求解不定方程 \(ax+by=c\) 的一组特解。利用欧几里得算法。
先考虑如何求解 \(ax+by=\gcd(a,b)\)。
当 \(b=0\) 的时候,方程化为 \(ax=a\),容易得出 \(x=1\)。考虑如何向上递归求解原问题。
首先按欧几里得算法的思想可以列出:
\(a \bmod b=a-\lfloor\frac{a}{b}\rfloor\times b\),改写:
根据 \(\gcd(a,b)=\gcd(b,a\bmod b)\),
按照原算法进行递归即可。
但是如果 \(c \not= \gcd(a,b)\),根据方程的性质,需要保证 \(\gcd(a,b)\mid c\)。求解也比较简单:
设 \(t=\frac{c}{\gcd(a,b)}\),原方程解为 \(x,y\),则 \(x_1^*=xt,y_1^*=yt\)。
线性同余方程/二元一次不定方程
定义:形如 \(ax \equiv b \pmod p\) 的方程称为线性同余方程。
其等价于二元一次不定方程 \(ax+np=b\)。由裴蜀定理得,方程有解当且仅当 \(\gcd(a,n)\mid b\),直接使用 exgcd 求解不定方程即可。
但是这样求出的是一组特解,考虑通解:
将特解与原方程相减可得:
则可以构造出 \(x_1^*-x_1=t\times\frac{b}{\gcd(a,b)},y_1^*-y_1=-t\times\frac{a}{\gcd(a,b)}\)。
所以 \(\boxed{x_1=x_1^*-t\times\frac{b}{\gcd(a,b)},y_1=y_1^*+t\times\frac{a}{\gcd(a,b)}(t \in \mathbb{Z})}\)
欧拉函数
定义:\(\varphi(p)\) 表示 \(1\) 至 \(p-1\) 中与 \(p\) 互质的数的个数。
性质:
-
计算公式:设一个数能 \(x\) 分解为 \(p_1^{c_1}\times p_2^{c_2}\times \cdots \times p_n^{c_n}\),则 \(\boxed{\varphi(x)=x\prod_{i=1}^n(1-\frac{1}{p_i})}\)
证明:考虑两个质数 \(p\) 和 \(q\) 组成的数 \(pq\),与其互质的数的个数为 \(x-\frac{x}{p}-\frac{x}{q}+\frac{x}{pq}=x(1-\frac{1}{p})(1-\frac{1}{q})\),运用归纳法拓展。
-
若存在互质整数 \(p,q\),则 \(\boxed{\varphi(pq)=\varphi(p)\varphi(q)}\)。这同时符合积性函数的定义:\(a,b\) 互质,\(f(ab)=f(a)f(b)\)。证明简单,将 \(\varphi(p)\) 和 \(\varphi(q)\) 按定义列出即可。
-
若质数 \(p\) 满足 \(p\mid n\) 且 \(p^2\nmid n\) 则 \(p\) 与 \(\frac{n}{p}\) 互质。所以 \(\boxed{\varphi(n)=\varphi(\frac{n}{p})\varphi(p)=\varphi(\frac{n}{p})\times(p-1)}\)
-
若质数 \(p\) 满足 \(p\mid n\) 且 \(p^2 \mid n\)。按定义展开,得 \(\boxed{\varphi(n)=\varphi(\frac{n}{p})\times p}\)
-
\(\boxed{\sum_{d\mid n}\varphi(d)=n}\)
证明:根据积性函数,可以将各个质数分开考虑。考虑一个质因子 \(p\),其在 \(n\) 中的出现形式为 \(1,p,p^2,\cdots,p^m\)。那么这些值的欧拉函数会形成一个比值为 \(p\) 的等比数列。求和再加一结果为 \(p^m\)。最后把各个质数乘起来,得证。
CRT
保证 \(p_1,p_2 \cdots p_n\) 互质。
结论:设 \(t_i\) 为同余方程 \(p_i't_i\equiv 1 \pmod {p_1}\) 的解,\(P=\Pi p_i\),\(p_i'=\frac{P}{p_i}\)。则 \(\boxed{ans=\sum a_it_ip_i'}\)
证明:
将方程组拆分:
对于每一个方程组,则单个方程组解显然为 \(a_it_ip_i'\),由于余数具有可加性,所以所有方程的解为 \(\sum a_it_ip_i'\)
exCRT
与 CRT 唯一的区别是不保证 \(p_1,p_2\cdots p_n\) 互质。
此时 CRT 的结论就不能用了,因为不互质的情况下,上述拆分无法进行。所以需要其他方法进行求解。
注意到,如果能将两个同余方程合并为一个同余方程组,那么就可以类似地依次合并每一个方程,问题得解。考虑同余方程组:
结论:这个方程组等价于 \(\boxed{x \equiv a_1-p_1\times k_1^*\pmod{\operatorname{lcm}(p1,p2)}}\),其中 \(k_1^*\) 为方程组 $$p_1k_1-p_2k_2=a_1-a_2$$ 的特解。
证明:
可以将两个方程表示为不定方程:
则可以推出
发现 \(a_1-a_2\) 是常数,\(p_1\) 和 \(p_2\) 是已知的系数,可以用 exgcd 求解特解 \(k_1^*\) 和 \(k_2^*\),则通解为
那么代入一下,
因为 \(ab=\gcd(a,b)\times \operatorname{lcm}(a,b)\)。
再化回同余方程,则得证。
类似地,一直合并下去即可求解。

浙公网安备 33010602011771号