数论基础篇

数论

一、整除

\(b=k\times a(k\in \mathbb Z)\Leftrightarrow a|b\Leftrightarrow\) \(\color{red} a 是 b 的因子\)

  1. 性质: \(a|b\) 且 $a|c\Leftrightarrow $ \(a|(ma+nb),m,n\in \mathbb Z\)

  2. 猜结论,从 “因子” 的角度证明。

二、同余

\(a\equiv b\mod m\Leftrightarrow \color{red} m|(a-b)\)

  1. 性质

    (1) 加减: \(a\equiv x,b\equiv y\Rightarrow a\pm b\equiv x\pm y\)

    (2) 乘:

    \[\qquad\begin{cases}a\equiv x,b\equiv y\Rightarrow ab\equiv xy\\a\equiv b \Rightarrow a^k\equiv b^k\end{cases} \]

    (3) 除:

    \[\qquad\begin{cases}ac\equiv bc \mod m~且~m\perp c\Rightarrow a\equiv b \mod \\a\equiv b \mod m~且~d~|~a,b,m \Rightarrow \frac{a}{d}\equiv \frac{b}{d} \mod \frac{m}{d} \end{cases} \]

    (4) 因数: \(a\equiv b\mod m\Rightarrow a\equiv b \mod n,n|m\)

    (5) 倍数: \(a\equiv b \mod m,n\Rightarrow a\equiv b\mod [m,n]\)

    (6) 结合律:

    \(\color{red}(a\pm b)\% m = (a\%m\pm b\%m) \%m\)

    $\color{red}(a\times b)\%m = (a\% m\times b\%m)\%m$
    

    (7) \(\color{red}\large乘法逆元\)

    ​ 当 \(\color{red}a\perp m\) 时,记模 \(m\) 意义下 \(inv_i\) 为满足: \(i\times inv_i\equiv 1\mod m\) 的整数。

    ​ 求法:

    ​ <1>蒙哥马利:当 \(m\) 为质数时, \(inv_x=x^{m-2}\)

    ​ 证明:由费马大定理, \(m\) 为质数时 \(x^{m-1}\equiv 1\) ,则 \(x^{m-2}\equiv x^{-1}\)

    ​ <2>欧几里得求法

    ​ 设 \(x=inv_a\) ,那么要解 \(ax\equiv 1\mod m\) ,等效于解 \(ax+bm=1\) 。最后调整 \(x\)\([1,m-1]\)

    ​ <3>线性推逆元

    ​ 设 \(\rm s=P/x,t=P%x\) ,则 \(\rm P=sx+t\equiv 0 \mod P\) ,移项得 \(\frac{1}{x}\equiv \frac{-s}{t}\)

    ​ <4>线性推阶乘逆元

    ​ 由于 \(i!~inv_{i!}\equiv 1\equiv (i+1)!~inv_{(i+1)!}\) ,则 \(inv_{i!}=(i+1)\times inv_{(i+1)!}\)

    整除 推性质。

  2. *一些定义

    (1) 同余类:模 \(m\) 意义下 \(x\) 的同余类定义为:由所有在模 \(m\) 意义下等于 \(x\) 的数组成的集合。这样的集合共 \(m\) 个。

    (2) 完全剩余系:由模 \(m\) 的的 \(m\) 个同余类中分别取出一个数组成模 \(m\) 的一个完系。

    ​ 在完系中,任意两个数模 \(m\) 互不同余。

    (3) 缩剩余系:在完系中保留所有与 \(m\) 互质的数。

    ​ 缩系大小为 \(\phi(m)\) ,且缩系中任意两个元素 \(\times 或/\) 的结果仍然是某个缩系元素的同余类。

    性质:

    (1) 若 \(a_{1,2...m}\) 是模 \(m\) 下的一个完系,且 \(x\perp m\) ,那么 \(xa_i+b\) 也是完系。

    ​ 若 \(a_i\) 为一个缩系且 \(x\perp m\) ,那么 \(xa_i+b\) 也是缩系。

    (2) 若 \(a_i\) 为一个完系,则 $$\sum a_i\equiv \frac{m(m+1)}{2}\mod m$$

    (3) 若 \(a_i,b_i\) 均为缩系,则 $$\prod a_i\equiv \prod b_i \mod m$$

    这些东西和一些东西的证明有关,比如:欧拉定理、原根等等。不要求完全掌握。

三、素数

  1. 算术基本定理:

    任意数可唯一拆解为 \(x=\prod p_i^{\alpha_i}\) ,其中 \(p_i\) 为质数, \(\alpha_i\in \mathbb N\)

    拓:

    (1) 约数个数:\(\prod(a_i+1)\)

    (2) 约数和: \(\prod (1+p_i^1+p_i^2+...p_i^{\alpha_i})=\prod \frac{p_i^{\alpha_i+1}-1}{p_i-1}\)

    (3) \((a,b)=\prod p_i^{\min(\alpha_i,\beta_i)},[a,b]=\prod p_i^{\max(\alpha_i,\beta_i)}\)

    \((a,b)\times [a,b]=ab\)

  2. 质数的判定

    定理:\(n\) 以内素数个数随 \(n\) 的增大逐渐逼近 \(\frac{n}{ln~n}\)

    (1) 朴素判定

    ​ 定理:如果 \(n\) 是合数,那么一定存在一个 \(\le \sqrt{n}\) 的质数是它的因子。

    ​ 枚举所有 \(\le \sqrt n\) 的数,判断其是不是 \(n\) 的因子即可。 \(\mathcal O(\sqrt n)\)

    (2) 埃氏筛

    ​ 对于每个素数,把它的所有倍数筛去。

    rep(i,1,n)if(!p[i])
    	for(int j=p[i]+p[i];j<=n;j+=p[i])
    		p[j]=1;
    

    ​ 定理: \(\sum_{p\le n}\frac{1}{p}=\log \log n\)
    所以埃氏筛复杂度为 \(\mathcal O(n\log \log n)\)

    ​ 埃氏筛的优势:能够比较准确地 运用某些数 来筛去 某个范围内的值

    ​ 经典例题:给定常数 \(K\) ,定义一个满足 \(x>1\)\(\forall i \in [2,min(K,x-1),i\nmid x\) 的数 \(x\) 为类质数,求 \([L,R]\) 所有类质数的和。 \(\rm L,R\le 10^9,R-L\le 10^7\) 。于是我们先求出所有 \(\le K\) 的质数,再用这些数去筛掉 \([L,R]\) 中的数。

(3) 欧拉筛
注意到埃氏筛中很多数被多个素数筛掉,我们改进一下使得每个数只被其最小的质因子筛掉。这就是欧拉筛。

```
rep(i,1,n){
	if(!p[i])pr[++cnt]=i;
	rep(j,1,cnt){
		if(i*pr[j]>n)break;
		p[i*pr[j]]=1;
		if(i%pr[j]==0)break;
	}
}
```

​ 复杂度 \(\mathcal O(n)\)

​ (4) \(\rm Miller-Rabin\) 素数判定

​ <1> 前置:

​ 费马小定理: \(p\) 为质数时, \(\forall a,a^{p-1}\equiv 1\mod p\)

​ 费马素数检测: \(a^{p-1}\equiv 1\mod p\)\(p\) 为素数的充分不必要条件。

​ 二次探测定理:当 \(p\) 为素数时, \(x^2\equiv 1\mod p\) 当且仅当 \(x=1或p-1\) 。那么我们可以记录 \(y=x^2\) ,如果 \(y=1\) 但是 \(x\ne1或p-1\) ,那么 \(p\) 就不是素数。

​ <2> 实现:

​ i. 直接判断 0,1,2 和偶数。

​ ii. 将 \(p-1\) 拆分成 \(2^k\times t\) 的形式,方便二次探测。

​ iii. 随机一个 \(\le p-1\)\(a\) ,初始 \(x=a^t\%p\) ,不断二次探测,共进行 \(k\) 次。

​ iiii. 最后 \(x=a^{p-1}\) ,检测 \(x\) 是否与 \(1\) 同余。

​ iiiii. 返回 iii ,进行 \(10\) ~ \(20\) 次。

bool pd(int p){
	if(p<=1)return false;
	if(p==2)return true;
	if(!(p&1))return false;
	int k=0,t=p-1;
	while(!(t&1))t>>=1,++k;
	rep(i,1,10){
		int a=random(p-1);
		int x=kpow(a,t,p);
		rep(j,1,k){
			int y=x*x%p;
			if(y==1&&x!=1&&x!=p-1)return false;
			x=y;
		}
		if(x!=1)return false;
	}return true;
}

​ 虽然是个随机化算法,但是检测很多次后基本上能保证正确性。复杂度 \(\mathcal O(n^{\frac{1}{4}})\)

四、重要数论定理及算法

  1. 欧几里得算法与扩展欧几里得算法

    (1) 欧几里得算法求 \(gcd\)

    ​ 若 \(d~|~a,d~|~b\) ,则 \(d~|~(ax+by)\) ,那么一定满足 \(d~|~(a-\lfloor\frac{a}{b}\rfloor\times b)\) ,那么 \(d~|~gcd(a,b)\) 。所以 \(gcd(a,b)=gcd(b,a\%b)\)

    \(a\to a\%b\) ,首先 \(a\ge b\) ,在值域上每 \(b\) 分段,那么无论 \(a\) 在哪一段,都满足 \(a\%b\le \frac{a}{2}\) 。所以每次递归中,大的那个数至少减半,复杂度 \(\mathcal O(\log(a+b))\)

    (2) 扩展欧几里得算法解丢番图方程:

    ​ <1> 丢番图方程:形如 \(a_1x_1+a_2x_2+...a_nx_n=c\) 的不定方程。这里只考虑 \(ax+by=c\)

    ​ <2> 裴蜀定理:丢番图方程有解的充要条件为 \(gcd(a_1,x_2...a_n)|c\)

    ​ <3> 扩展欧几里得算法:解 \(ax+by=(a,b)\) 得出一组整数解。

    ​ 由于 \(ax_1+by_1=(a,b)\)\((a,b)=(b,a\%b)\) ,那么 \(ax_1+by_1=bx_2+a\%by_2\)

    ​ 又因为 \(bx_2+a\%by_2=bx_2+ay_2-\lfloor\frac{a}{b}\rfloor\times by_2=y_2a+(x_2-\lfloor\frac{a}{b}\rfloor y_2)b\)

    ​ 换主元,系数相同一定是一组解,那么 \(\begin{cases}x_1=y_2\\y_1=x_2-\lfloor\frac{a}{b}\rfloor y_2\end{cases}\) ,递归处理即可。

    ​ 边界为 \(b=0\) 时, \(x=1,y=0\)

    ​ 通解:\(\begin{cases}x=x_0+t\times \frac{b}{(a,b)}\\y=y_0-t\times \frac{a}{(a,b)}\end{cases},t\in \mathbb Z\)

    \(ax+by=c\)\(c\ne (a,b)\) ,相当于解 \(ax+by=k\times (a,b)\)\(ax'+by'=(a,b),x=kx',y=ky'\)

  2. 欧拉定理与费马小定理

    ​ (1) 欧拉函数 \(\varphi(n)\)\(\sum_{i=1}^{n-1}[gcd(i,n)==1]\) (小于 \(n\) 的数中与 \(n\) 互质的正整数的个数)

    ​ <1> 性质

    ​ i. 积性函数:若 \(a\perp b\) ,则 \(\phi(ab)=\phi(a)\times \phi(b)\)

    ​ ii. \(\sum_{d|n} \varphi(d)=n\)

    ​ iii. \(\varphi\times I=id\) (反演中用到)

    ​ <2> 求法

    ​ i. 通式法: \(\varphi(n)=n\prod_{p_i|n} (1-\frac{1}{p_i})\)

    ​ 证明:

    ​ 当 \(n\) 为质数时: \(\varphi(n)=n-1\) 。小于 \(n\) 的所有数都与 \(n\) 互质。

    ​ 当 \(n=p^k\) 时: \(\varphi(p^k)=p^k-p^{k-1}=p^k\times (1-\frac{1}{p})\)\(n\) 以内只有 \(p\) 的倍数与 \(n\) 不互质,而 \(p\) 的倍数有 \(p,2p,3p...p^{k-1}\cdot p\)\(p^{k-1}\) 个。

    ​ 当 \(n\) 一般时,将 \(n\) 唯一分解为 \(\prod_{p_i|n} p_i^{\alpha_i}\) 。由于 \(\varphi\) 为积性函数,则

    ​ $$\varphi(n)=\prod_{p_i|n} \varphi(p_i^{\alpha_i})=\prod_{p_i|n} p_i^{\alpha_i}\times (1-\frac{1}{p_i})=n\times \prod_{p_i|n} (1-\frac{1}{p_i})$$

    ​ 证毕。

    ​ ii. 欧拉筛

    ​ 当 \(x\) 为质数时, \(\varphi(x)=x-1\)

    ​ 当 \(x=i\times p_j\)\(i\perp p_j\) 时,由积性函数, \(\varphi(x)=\varphi(i)\times \varphi(p_j)\)

    ​ 当 \(x=i\times p_j\)\(i\%p_j\ne0\) 时, \(\varphi(x)=p_j\times \varphi(i)\)

    ​ 理解:由通式,在 \(i\) 基础上多乘一个 \(p_j\) 并不改变 \(\prod_{p_i|n}(1-\frac{1}{p_i})\) ,只是使 \(n=i\to i\times p_j\)

    ​ (2) 欧拉定理: \(\color{red}a\perp m\) 时, \(a^{\varphi(m)}\equiv 1\mod m\)

    ​ 证明:设 \(x_i,i\in[1,\varphi(m)]\) 是模 \(m\) 意义下的一个缩系,若 \(a\perp m\) ,那么 \(ax_i\) 也是一个缩系。(性质 (1) )

    ​ 根据缩系的性质 (3) , \(\prod x_i\equiv\prod ax_i \mod m\)

    ​ 又因为 \(\prod ax_i=a^{\varphi(m)}\prod x_i\) ,所以 \(a^{\varphi(m)}\equiv 1 \mod m\)

    ​ (3) 费马小定理:当 \(m\) 为质数时, \(a^{m-1} \equiv 1 \mod m\) 。欧拉定理是对其的一般化。

    ​ (4) *扩展欧拉定理:

    ​ $$ab\equiv\begin{cases}a,(a,m)=1\ a^b,(a,m)\ne 1,b<\varphi(m)\ a^{b%\varphi(m)+\varphi(m)},(a,m)\ne 1,b\ge\varphi(m) \end{cases} \equiv a^{min(b,b%\varphi(m)+\varphi(m))}$$

  3. *威尔逊定理: \((p-1)!\equiv -1\mod p\Leftrightarrow p\) 为质数。

  4. 中国剩余定理 \(\rm (CRT)\)

    ​ 求一个 \(x\) 满足 \(\begin{cases}x\equiv a_1\mod m_1\\x\equiv a_2\mod m_2\\\vdots \qquad\vdots\qquad\qquad\vdots\end{cases}\) 。其中 \(\color{red}m_i 互质\)

    ​ 解:设 \(S=\prod m_i\)\(M_i=\frac{S}{m_i}\)\(y_i\) 为模 \(m\) 意义下 \(M_i\) 的逆元。

    ​ 那么 \(a_iM_iy_i\equiv \begin{cases}a_i\mod m_i(y_i为逆元)\\ 0\mod m_j,j\ne i(M_i含有m_i的因子)\end{cases}\)

    ​ 所以 \(x=\sum a_iM_iy_i\) 一定是一个解。通解为 \((\sum a_iM_iy_i)+kS\)

    *扩展中国剩余定理

  5. \(\rm Lucas\) 定理

    \[\tbinom{n}{m}\%p=\tbinom{n/p}{m/p}\times \tbinom{n\%p}{m\%p}\%p \]

posted @ 2020-10-29 14:29  maskey  阅读(203)  评论(0)    收藏  举报