【数论学习笔记2】【Continuously Update…】
一、同余的定义及其性质
-
定义
若\(a\bmod m=b\bmod m\),则称a,b模m同余,记为\(a\equiv b\pmod m\) -
推论 (另一种定义)
\(a\equiv b\pmod m<=>m|(a-b)\)
证明
证明: 分为两部分,先从左推到右,再从右推到左 第一部分因为\(a\equiv b\pmod m\),所以\(a\bmod m=b\bmod m\),设\(r=a\bmod m,p=\frac{a-r}{m},q=\frac{b-r}{m}\)
显然p,q均为整数,所以\(a=pm+r,b=qm+r\)
所以\(a-b=pm+r-(qm+r)=(p-q)m\)
因为\(m|(p-q)m\),所以\(m|(a-b)\)
第二部分
设\(r_1=a\bmod m,r_2=b\bmod m,p=\frac{a-r_1}{m},q=\frac{b-r_2}{m}\)
则\(a=pm+r_1,b=qm+r_2\)
所以\(a-b=pm+r_1-(qm+r_2)=m(p-q)+(r_1-r_2)\)
因为\(m|(a-b)\),即\(m|m(p-q)+(r_1-r_2)\)
且\(m|m(p-q)\),
所以\(m|1\times (m(p-q)+(r_1-r_2))+(-1)\times m(p-q)\),即\(m|(r_1-r_2)\)
又因为\(r_1,r_2\in [0,m-1]\),所以\(|r_1-r_2|<m\)
所以\(r_1=r_2\),即\(a\bmod m=b\bmod m\),即\(a\equiv b\pmod m\)
证毕
- 基本性质
设\(a\equiv b\pmod m,c\equiv d\pmod m,k为正整数,n为任意整数\)
① \(a\equiv a\pmod m\)
② \(b\equiv a\pmod m\)
③ \(a+n\equiv b+n\pmod m\)
④ \(a+c\equiv b+d\pmod m\)
⑤ \(na\equiv nb\pmod m\)
⑥ \(ac\equiv bd\pmod m\)
⑦ \(a^k\equiv b^k\pmod m\)
⑧ \(若ab\equiv ac\pmod m,(a,m)=1,则b\equiv c\)
性质①,②显然
性质③,④,⑤,⑥,⑦证明方法类似,以⑥为例
证明:咕咕咕
\(a\equiv b\pmod m,\)
二、取模运算与乘法逆元
在计数类问题中,我们常常会遇到对答案取模的要求
在这种情况下如果我们要把答案先算出来再取模,有可能在运算过程中超出整型存储的范围,于是我们思考能否一边计算答案,一边对其取模
先思考最简单的情况——累计答案的过程中只有加法运算
设\(ans=(a+b)\bmod p\),
那么\(ans=(a\bmod p+b\bmod p)\bmod p\)
证明:上述问题等价于\(a+b\equiv a\bmod p+b\bmod p\pmod p\)
因为\(a\equiv a\bmod p\pmod p,b\equiv b\bmod p\pmod p\)
所以\(a+b\equiv a\bmod p+b\bmod p\pmod p\)
证毕
这说明,我们在对和取模时,可以一边加一边取模
我们再来考虑乘法
设\(ans=(a\times b)\bmod p\),
那么\(ans=(a\bmod p\times b\bmod p)\bmod p\)
证明:上述问题等价于\(a\times b\equiv a\bmod p\times b\bmod p\pmod p\)
因为\(a\equiv a\bmod p\pmod p,b\equiv b\bmod p\pmod p\)
所以\(a\times b\equiv a\bmod p\times b\bmod p\pmod p\)
这说明,我们在对乘积取模时,可以一边乘一边取模
将加法和乘法结合起来,我们就得到了——
在不包含除法的算式中,在运算过程中的每一步我们都可以直接取模
说了这么多,我们还没有讲到这一节的主题——乘法逆元(所以足以体现我废话之多)
它有什么用呢?——它可以将模意义下的除法转换为乘法
之所以要转换,是因为我们刚才得到了“在不包含除法的算式中,在运算过程中的每一步我们都可以直接取模”
那为什么我们不能类比加法和乘法,证明除法也有类似的性质呢?废话,因为它不具有这样的性质
我们希望证明\(\frac{a\bmod p}{b\bmod p}\equiv \frac{a}{b}\pmod p\),前提是\(b|a\)
那不妨举几个例子,令\(a=27,b=3,p=5\)
则\(\frac{a}{b}\bmod p=\frac{27}{3}\bmod 5=4\)
\(\frac{a\bmod p}{b\bmod p}\bmod p=\frac{27\bmod 5}{3\bmod 5}\bmod 5=\frac{2}{3}\bmod 5\neq4\)
这是由于取模后两个数不再整除造成的,那么如果保证取模后\((b\bmod p)|(a\bmod p)\),\(\frac{a\bmod p}{b\bmod p}\equiv \frac{a}{b}\pmod p\)是否成立呢?
再举个栗子,令\(a=60,b=10,p=4\)
则\(\frac{a}{b}\bmod p=\frac{60}{10}\bmod 4=2\)
\(\frac{a\bmod p}{b\bmod p}\bmod p=\frac{60\bmod 4}{10\bmod 4}\bmod 4=\frac{0}{2}\bmod 4=0\neq 2\)
也不成立
所以我们希望找到一个数x,满足\(\frac{a}{b}\equiv a\times x\equiv a\bmod p\times x\bmod p\pmod p\),从而将除法变成乘法,于是就可以按照乘法,每一步都可以进行取模了
实际上这个数x就是b的乘法逆元
乘法逆元
-
定义:若整数\(b,p\)互质,则存在一个整数\(x\),使得对于任意的\(a(b|a)\),都有\(\frac{a}{b}\equiv a\times x\pmod p\),称\(x\)为\(b\)的模p乘法逆元,记为\(b^{-1}\pmod p\)
-
推论(另一种定义):\(b\times b^{-1}\equiv 1\pmod p\)等价于定义
证明
分为两部分 第一部分,从定义推到$b\times b^{-1}\equiv 1\pmod p$,第二部分反过来推第一部分
因为对于任意的\(a(b|a)\),都有\(\frac{a}{b}\equiv a\times b^{-1}\pmod p\)
所以令\(a=b\),则有\(\frac{b}{b}\equiv b\times b^{-1}\pmod p\)
即\(b\times b^{-1}\equiv 1\pmod p\)
第二部分
因为\(b\times b^{-1}\equiv 1\pmod p\),\(\frac{a}{b}\equiv \frac{a}{b}\pmod p(b|a)\)
所以对于任意的\(a(b|a)\),都有\(\frac{a}{b}\equiv a\times b^{-1}\pmod p\)
-
存在唯一性
设整数\(b,p\),当且仅当\(gcd(b,p)=1\),存在\(x\),使得\(b\times x\equiv 1\pmod p\),且所有满足条件的\(x\)模\(p\)同余
证明:“当且仅当\(gcd(b,p)=1\),存在\(x\),使得\(b\times x\equiv 1\pmod p\)”用裴蜀定理很容易证明
至于“且所有满足条件的\(x\)模\(p\)同余”也可以用线性同余方程的通解解释,不再赘述 -
完全积性函数
性质:若\(a,b\)与\(p\)互质,\(a^{-1}\times b^{-1}\equiv (ab)^{-1}\pmod p\)
证明:
因为\(a,b\)与\(p\)互质,所以\(ab\)与\(p\)互质
由定义得,\(b\times b^{-1}\equiv 1\pmod p\),\(a\times a^{-1}\equiv 1\pmod p\),\(1\equiv ab\times (ab)^{-1}\pmod p\)
两边式子分别乘起来再除以ab即可 -
求法
(1)费马小定理:当p为素数时\(b^p\equiv b\pmod p\),即\(b\times b^{p-2}\equiv 1\pmod p\)
也就是说当模数为质数时可以直接用快速幂求出b^{p-2}即可
(2)扩欧:实际上就是求满足bx+py=1的一组(x,y),让x对p取模即可
(3)线性递推:假设当前要求k的逆元,模数为p
设a=\(\lfloor{p/k}\rfloor\),\(b=p\bmod k\),假设b与p互质
那么\(p=ak+b\),即\(b=p-ak\),
由定义\(b\times b^{-1}\equiv 1\pmod p\)
\((p-ak)\times b^{-1}\equiv 1\pmod p\)
\(p\times b^{-1}-ak\times b^{-1}\equiv 1\pmod p\)
注意到在模p意义下前面的\(p\times b^{-1}\)可以约去
所以,\(-ak\times b^{-1}\equiv 1\pmod p\)
即\(k^{-1}\equiv (-a)\times b^{-1}\equiv (-\lfloor{p/k}\rfloor)\times (p\bmod k)^{-1}\pmod p\)
另一种线性求逆元的方式(而且不要求从小到大连续)
输入\(n\)个数,\(a_1,a_2,\cdots a_n\)
先记\(M=\prod\limits_{i=1}^{n}a_i\),则\(a_i^{-1}=pre_{i-1}*suf_{i+1}*M^{-1}\)
pre和suf为前缀后缀积

浙公网安备 33010602011771号