[Note] 高次剩余 [Cipolla][Peralta][BSGS]

Lagrange’s Theorem (Number Theory)

n n n 次非零多项式在模素数意义下至多有 n n n 个不同的解。


Catalan’s Conjecture

x p − y q = 1 ( p > 1 , q > 1 ) x^p-y^q=1(p>1,q>1) xpyq=1(p>1,q>1) 的所有正整数解只有 ( x , y , p , q ) = ( 3 , 2 , 2 , 3 ) (x,y,p,q)=(3,2,2,3) (x,y,p,q)=(3,2,2,3)
就是说,只有 8 8 8 9 9 9 两个连续正整数同时是其他正整数的幂。


Quadratic Residue

(ps:katex的不等于号和\not好sb。。。

x 2 ≡ a ( m o d p ) , a x^2\equiv a\pmod{p},a x2a(modp),a 0 , p > 1 0,p>1 0,p>1 (或者 p > 2 p>2 p>2 ??

若有 x 2 = a + k p , k ∈ Z x^2=a+kp,k\in\Z x2=a+kp,kZ 成立,称 a a a p p p 的二次剩余, x x x 是该二次同余方程的解。
若不成立,称 a a a p p p 的二次非剩余。

有性质:两个二次非剩余乘起来、或者二次剩余乘起来,都会得到一个二次剩余;
一个二次剩余和一个二次非剩余乘起来,会得到一个非二次剩余。

一般我们会遇到要求 x ( m o d p ) \sqrt{x}\pmod{p} x (modp) ,这个时候就可以当成二次剩余来解。


Quadratic Reciprocity Law

对两个不同的奇素数 p , q p,q p,q ( q p ) ( p q ) = ( − 1 ) p − 1 2 ⋅ q − 1 2 \left(\frac{q}{p}\right)\left(\frac{p}{q}\right)=(-1)^{\frac{p-1}{2}\cdot\frac{q-1}{2}} (pq)(qp)=(1)2p12q1


Legendre Symbol

( a p ) = a ϕ ( p ) 2 \left(\frac{a}{p}\right)=a^{\frac{\phi(p)}{2}} (pa)=a2ϕ(p) ← Jacobi Symbol

但是下面我们使用 ( a p ) = a p − 1 2 \left(\frac{a}{p}\right)=a^{\frac{p-1}{2}} (pa)=a2p1 ← Legendre Symbol
其中 p p p 为奇素数; 0 ≤ a &lt; p 0\le a&lt;p 0a<p
为什么不用雅可比符号呢?因为那个东西在这里还用不上,不满足一些性质
所以下面用的都是勒让德。同时不特殊说明只研究 p p p 为奇素数的特殊情况。

(千万不要把勒让德符号那个 p − 1 2 \frac{p-1}{2} 2p1 跟后面某个指数 p + 1 2 \frac{p+1}{2} 2p+1 混。。


Euler’s Criterion

根据 Fermat’s little theorem 就有 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv1\pmod{p} ap11(modp)
然后我们可以挪一下因式分解得到 ( a p − 1 2 + 1 ) ( a p − 1 2 − 1 ) ≡ 0 ( m o d p ) (a^{\frac{p-1}{2}}+1)(a^{\frac{p-1}{2}}-1)\equiv0\pmod{p} (a2p1+1)(a2p11)0(modp)
那么 a p − 1 2 ≡ ± 1 ( m o d p ) a^{\frac{p-1}{2}}\equiv\pm1\pmod{p} a2p1±1(modp)

a a a p p p 的二次剩余 ⇔ \Leftrightarrow ( a p ) ≡ 1 ( m o d p ) \left(\frac{a}{p}\right)\equiv1\pmod{p} (pa)1(modp)
充分性:现在假如 a ≡ x 2 ( m o d p ) a\equiv x^2\pmod{p} ax2(modp) ,有 a p − 1 2 ≡ x p − 1 ≡ 1 ( m o d p ) a^{\frac{p-1}{2}}\equiv x^{p-1}\equiv1\pmod{p} a2p1xp11(modp)
必要性: x p − 1 ≡ 1 ( m o d p ) x^{p-1}\equiv1\pmod{p} xp11(modp) a p − 1 2 ≡ 1 ( m o d p ) a^{\frac{p-1}{2}}\equiv1\pmod{p} a2p11(modp) 所以 a ≡ x 2 ( m o d p ) a\equiv x^2\pmod{p} ax2(modp)

所以顺便可以得到非二次剩余 ⇔ \Leftrightarrow ( a p ) ≡ − 1 ( m o d p ) \left(\frac{a}{p}\right)\equiv-1\pmod{p} (pa)1(modp)


p 为奇素数时,求任意一个二次(非)剩余:Randomize ~ O(1)

i ≡ − i i\equiv-i ii 所以可以把负的一半去掉
± i , 1 ≤ i ≤ p − 1 2 \pm i,1\le i\le\frac{p-1}{2} ±i,1i2p1 这个缩系平方一下就得到所有二次剩余
1 ≤ i &lt; j ≤ p − 1 2 1\le i&lt;j\le\frac{p-1}{2} 1i<j2p1 我们有 i 2 − j 2 = ( i + j ) ( i − j ) i^2-j^2=(i+j)(i-j) i2j2=(i+j)(ij)
其中 3 ≤ ( i + j ) ≤ p − 2 3\le(i+j)\le p-2 3(i+j)p2 并且 ( i − j ) (i-j) (ij) 也显然不是 p p p 的倍数
所以 i 2 − j 2 i^2-j^2 i2j2 的两个因子都不是 p p p 的倍数,它们乘起来也一定不可能得到 p p p
( i − 1 ) 2 (i-1)^2 (i1)2 往下的除了 p p p 都不是 p p p 的倍数, p p p 的因数也只有 1 1 1 p p p

反正记住二次剩余数量等于非二次剩余数量等于 p + 1 2 \frac{p+1}{2} 2p+1 就可以了。
p + 1 p+1 p+1 必定是偶数,因为 ϕ ( x ) \phi(x) ϕ(x) x &gt; 2 x&gt;2 x>2 的时候恒为偶数

所以随便从 1 ∼ p − 1 1\sim p-1 1p1 里挑一个数,至少有 1 2 \frac{1}{2} 21 的概率是非二次剩余
判一下勒让德符号就可以了
(你可以判等于 − 1 -1 1 ,如果取值范围没有坑你也可以判 ≠ 1 )


p 为奇素数时,已知二次剩余求原数:Cipolla’s Algorithm ~ O(logp)

x 2 ≡ a ( m o d p ) x^2\equiv a\pmod{p} x2a(modp) 已知 a , p a,p a,p x x x 。首先显然可以特判 a = 0 , p = 2 a=0,p=2 a=0,p=2
我们随机一个 ω \omega ω 使得 ω 2 − a \omega^2-a ω2a 不是二次剩余
i ≡ ω 2 − a i\equiv\sqrt{\omega^2-a} iω2a 然后计算 x 1 ≡ ( ω + i ) p + 1 2 x_1\equiv\left(\omega+i\right)^{\frac{p+1}{2}} x1(ω+i)2p+1 ;另外一个解 x 2 = − x 1 x_2=-x_1 x2=x1

原理: ( a + b i ) p ≡ ( a − b i ) (a+bi)^p\equiv(a-bi) (a+bi)p(abi)
套二项式定理和费马小定理再利用二次非剩余就可以解出来
然后我们知道 a ≡ ( ω 2 − i 2 ) ≡ ( ω + i ) ( w − i ) ≡ ( w + i ) p + 1 a\equiv(\omega^2-i^2)\equiv(\omega+i)(w-i)\equiv(w+i)^{p+1} a(ω2i2)(ω+i)(wi)(w+i)p+1
也就知道 a \sqrt{a} a

展开之后显然一定是不带 i i i 的(。。。
你想证一下 那也不困难吧 我就不写了 因为我有点懒

复杂度在快速幂上。

真的牛逼
手划一下条件和要求的东西 你会发现真的好难想到。。
就算直接给出结果让你证都不一定会想到这样的思路
可能这就是缘分吧.jpg

玄学顺推:
利用那种随便加个东西套性质的思路,把 a a a 搞成 ω − ( ω − a ) \omega-(\omega-a) ω(ωa)
然后考虑一下把 ω \omega ω 也变成平方说不定能够玄学出来什么
那直接重设成 ω 2 − ( ω 2 − a ) \omega^2-(\omega^2-a) ω2(ω2a)
这东西就可以因式分解,那么 a = ( ω + ω 2 − a ) ( ω − ω 2 − a ) a=(\omega+\sqrt{\omega^2-a})(\omega-\sqrt{\omega^2-a}) a=(ω+ω2a )(ωω2a )
根据 bsgs 求解的方法,考虑找出 a a a 是否能够表示为某个指数为偶数的幂
(因为这样 a = T A T 2 q w q a=TAT^{2qwq} a=TAT2qwq 就可以搞 x = a = T A T q w q x=\sqrt{a}=TAT^{qwq} x=a =TATqwq
考虑把后面那个化成跟前面那个差不多的话就可以得到偶数指数
化成指数是 2 2 2 肯定不可行,化成 p − 1 p-1 p1 因为前面自带一个感觉也不对
所以考虑化成 p + 1 p+1 p+1
后面那个,看到根号了吧,取二次非剩余就有不错的性质
根据大量的经验一眼秒得到 ( ω + ω 2 − a ) p + 1 (\omega+\sqrt{\omega^2-a})^{p+1} (ω+ω2a )p+1
然后发现 ω \omega ω 随机就可以了


p 为奇素数时,已知三次剩余求原数:Peralta Method Extension

<Click Here>
上来先随机一个 ω \omega ω ,使得 ω 3 − a \omega^3-a ω3a 是三次非剩余
判断方法: ( ω 3 − a ) ϕ ( p ) 3 (\omega^3-a)^{\frac{\phi(p)}{3}} (ω3a)3ϕ(p) 不同余 1 ( m o d p ) 1\pmod{p} 1(modp) 期望次数是 ⑨
i = ω 3 − a 3 i=\sqrt[3]{\omega^3-a} i=3ω3a 然后求 ( ω + i ) p 2 + p + 1 3 (\omega+i)^{\frac{p^2+p+1}{3}} (ω+i)3p2+p+1

更高次依此类推: ω k − a \omega^k-a ωka ( ω + ω k − a k ) p k − 1 + p k − 2 + ⋯ + p 3 + p 2 + p + 1 k (\omega+\sqrt[k]{\omega^k-a})^{\frac{p^{k-1}+p^{k-2+\cdots+p^3+p^2+p+1}}{k}} (ω+kωka )kpk1+pk2++p3+p2+p+1
当然次数太高你的期望次数就有点多了


任意模数二次剩余

大力分类讨论 %%%Miskcoo
我在这里奶一口应该用不上吧
奶死了我撒我自己


n 次剩余:(ex)BSGS

x n ≡ a ( m o d p ) x^n\equiv a\pmod{p} xna(modp) x x x ;已知 a , n , p a,n,p a,n,p

p p p 如果有原根,对于 x n ≡ a ( m o d p ) x^n\equiv a\pmod{p} xna(modp) 我们可以求一个原根 g g g 出来

r = I g ( a ) r=I_g(a) r=Ig(a) 然后 g r ≡ a ( m o d p ) g^r\equiv a\pmod{p} gra(modp) 可以用 BSGS 解决
(如果不限定奇素数就 exBSGS )

然后再设 e = I g ( x ) e=I_g(x) e=Ig(x) 那么 g n e ≡ a ( m o d p ) g^{ne}\equiv a\pmod{p} gnea(modp)
变形 n e ≡ r ( m o d ϕ ( p ) ) ne\equiv r\pmod{\phi(p)} ner(modϕ(p))
也就是 n e + ϕ ( p ) f = r ne+\phi(p)f=r ne+ϕ(p)f=r

用 exgcd 解出 e , f e,f e,f
就不难用 g e ≡ x ( m o d p ) g^e\equiv x\pmod{p} gex(modp) 解出 x x x
嫌指数太大可以扩展欧拉定理。

实际上也就是利用原根的幂表达 a , x a,x a,x 从而 a ⇒ g ⇒ x a\Rightarrow g\Rightarrow x agx
或者说 a ≡ g u n , x ≡ g u a\equiv g^{un},x\equiv g^u agun,xgu


The Period of the Fibonacci Sequence Modulo P

一个小应用:求斐波那契循环节 <Click Here>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值