2.27学习笔记——关于同余最短路的补充

前置:寒假学习笔记【匠心制作,图文并茂】——1.17图论复习

欧拉定理

前置概念

我们把一个集合 { 0 , 1 , 2 , … , n − 1 } \{0,1,2,\dots,n-1\} {0,1,2,,n1} 叫做 n n n 的剩余系。而这个剩余系中与 n n n 互质的数所构成的集合叫做最简剩余系。我们再定义 ϕ ( n ) \phi(n) ϕ(n) 表示 n n n 的最简剩余系的长度,假设一个数 a a a n n n 互质,则我们可以得到欧拉定理:

a ϕ ( n ) ≡ 1 ( m o d n ) a^{\phi(n)}\equiv1\pmod{n} aϕ(n)1(modn)

证明如下:

假设 n n n 的最简剩余系为 { p 1 , p 2 , … , p x } \{p_1,p_2,\dots,p_x\} {p1,p2,,px},则:

∵ p i < n , p j < n \because p_i\lt n,p_j\lt n pi<n,pj<n

∴ n ∤ p i − p j \therefore n\nmid p_i-p_j npipj

∵ a 与 n 互质 \because a\text{与}n\text{互质} an互质

∴ n ∤ a \therefore n\nmid a na

∴ n ∤ a × ( p i − p j ) \therefore n\nmid a\times(p_i-p_j) na×(pipj)

∴ a × p i ≢ a × p j ( m o d n ) \therefore a\times p_i\not\equiv a\times p_j\pmod{n} a×pia×pj(modn)

∴ p 1 × p 2 × ⋯ × p x ≡ a p 1 × a p 2 × ⋯ × a p x ( m o d n ) \therefore p_1\times p_2\times\dots\times p_x\equiv ap_1\times ap_2\times\dots\times ap_x\pmod{n} p1×p2××pxap1×ap2××apx(modn)

∴ ∏ i = 1 x p i ≡ a x × ∏ i = 1 x p i ( m o d n ) \therefore\prod^x_{i=1}p_i\equiv a^x\times\prod^x_{i=1}p_i\pmod{n} i=1xpiax×i=1xpi(modn)

∵ ∏ i = 1 x p i 与 n 互质 \because\prod^x_{i=1}p_i\text{与}n\text{互质} i=1xpin互质

∴ a x ≡ 1 ( m o d n ) \therefore a^x\equiv1\pmod{n} ax1(modn)

∴ a ϕ ( n ) ≡ 1 ( m o d n ) \therefore a^{\phi(n)}\equiv1\pmod{n} aϕ(n)1(modn)

上面的过程中省略了一些步骤,还用了一些数学符号,但我相信应该能看懂,看不懂的可以抠破脑袋想。

而当 n n n 为质数时,我们就可以得到费马小定理:

a n − 1 ≡ 1 ( m o d n ) a^{n-1}\equiv1\pmod{n} an11(modn)

当然,仅限于 n n n 为质数的时候。

当然这就有个问题:这费马小定理有什么用呢?用处可大了,比如让你手算:

3 99999   m o d   7 = ? 3^{99999}\bmod7=? 399999mod7=?

这时候,根据费马小定理就可以简化这个式子:

原式 = 3 16666 × 6 × 3 3   m o d   7 = ( 3 7 − 1 ) 16666 × 3 3   m o d   7 = ( 3 7 − 1   m o d   7 ) 16666 × 3 3   m o d   7 = 1 16666 × 27   m o d   7 = 27   m o d   7 = 6 \begin{align}\text{原式}&=3^{16666\times6}\times3^3\bmod7\\&=(3^{7-1})^{16666}\times3^3\bmod 7\\&=(3^{7-1}\bmod7)^{16666}\times3^3\bmod7\\&=1^{16666}\times27\bmod7\\&=27\bmod7\\&=6\end{align} 原式=316666×6×33mod7=(371)16666×33mod7=(371mod7)16666×33mod7=116666×27mod7=27mod7=6

对于上面的欧拉定理,还有个小问题: ϕ ( n ) \phi(n) ϕ(n) 怎么求呢?

由此,我们引出第二个公式:

假设 q 1 , q 2 , … , q y q_1,q_2,\dots,q_y q1,q2,,qy n n n 的质因数,则:

ϕ ( n ) = n × ∏ i = 1 y ( 1 − 1 q i ) \phi(n)=n\times\prod^y_{i=1}(1-\cfrac{1}{q_i}) ϕ(n)=n×i=1y(1qi1)

证明也很好证:

根据容斥原理可知:

ϕ ( n ) = n − n q 1 − n q 2 + n q 1 ⋅ q 2 − n q 3 + n q 1 ⋅ q 3 + n q 2 ⋅ q 3 − n q 1 ⋅ q 2 ⋅ q 3 ⋯ \phi(n)=n-\cfrac{n}{q_1}-\cfrac{n}{q_2}+\cfrac{n}{q_1\cdot q_2}-\cfrac{n}{q _3}+\cfrac{n}{q_1\cdot q_3}+\cfrac{n}{q_2\cdot q_3}-\cfrac{n}{q_1\cdot q_2\cdot q_3}\cdots ϕ(n)=nq1nq2n+q1q2nq3n+q1q3n+q2q3nq1q2q3n

我们先看 y = 2 y=2 y=2 的情况:

ϕ ( n ) = n − n q 1 − n q 2 + n q 1 ⋅ q 2 = n × ( 1 − 1 q 1 − 1 q 2 + 1 q 1 ⋅ q 2 ) = n × [ ( 1 − 1 q 1 ) − 1 q 2 × ( 1 − 1 q 1 ) ] = n × ( 1 − 1 q 1 ) × ( 1 − 1 q 2 ) \begin{align}\phi(n)&=n-\cfrac{n}{q_1}-\cfrac{n}{q_2}+\cfrac{n}{q_1\cdot q_2}\\&=n\times(1-\cfrac{1}{q_1}-\cfrac{1}{q_2}+\cfrac{1}{q_1\cdot q_2})\\&=n\times[(1-\cfrac{1}{q_1})-\cfrac{1}{q_2}\times(1-\cfrac{1}{q_1})]\\&=n\times(1-\cfrac{1}{q_1})\times(1-\cfrac{1}{q_2})\end{align} ϕ(n)=nq1nq2n+q1q2n=n×(1q11q21+q1q21)=n×[(1q11)q21×(1q11)]=n×(1q11)×(1q21)

y = 3 y=3 y=3 时化简后:

n × ( 1 − 1 q 1 ) × ( 1 − 1 q 2 ) × ( 1 − 1 q 3 ) n\times(1-\cfrac{1}{q_1})\times(1-\cfrac{1}{q_2})\times(1-\cfrac{1}{q_3}) n×(1q11)×(1q21)×(1q31)

所以我们就可以通过以上规律得到:

ϕ ( n ) = n × ∏ i = 1 y ( 1 − 1 q i ) \phi(n)=n\times\prod^y_{i=1}(1-\cfrac{1}{q_i}) ϕ(n)=n×i=1y(1qi1)

让我们回到这个式子上来: a n − 1 ≡ 1 ( m o d n ) a^{n-1}\equiv1\pmod{n} an11(modn)

然后我们把左右两边同时除以一个 a a a 得:

a − 1 ≡ a n − 2 ( m o d n ) a^{-1}\equiv a^{n-2}\pmod{n} a1an2(modn)

那么,我们就可以知道下面这个等式:

b a   m o d   n = a n − 2 × b   m o d   n \cfrac{b}{a}\bmod n=a^{n-2}\times b\bmod n abmodn=an2×bmodn

这也很好理解,相信大家都能想通,就不多讲了。

写完了发现和同余最短路好像没什么关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值