【数论学习笔记2】【Continuously Update…】

一、同余的定义及其性质

  1. 定义
    \(a\bmod m=b\bmod m\),则称a,b模m同余,记为\(a\equiv b\pmod m\)

  2. 推论 (另一种定义)
    \(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\)

证毕

  1. 基本性质
    \(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的乘法逆元

乘法逆元

  1. 定义:若整数\(b,p\)互质,则存在一个整数\(x\),使得对于任意的\(a(b|a)\),都有\(\frac{a}{b}\equiv a\times x\pmod p\),称\(x\)\(b\)的模p乘法逆元,记为\(b^{-1}\pmod p\)

  2. 推论(另一种定义):\(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\)

  1. 存在唯一性
    设整数\(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\)同余”也可以用线性同余方程的通解解释,不再赘述

  2. 完全积性函数
    性质:若\(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即可

  3. 求法

(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为前缀后缀积

posted @ 2021-10-07 09:34  glq_C  阅读(61)  评论(0)    收藏  举报