离散对数相关

BSGS 算法

可爱的质数/[模板]BSGS

给定整数 a,b,p,其中 a,p 互质,求一个非负整数 x,使得 axb(modp)

朴素算法概述:

考虑一个暴力算法,在 mod p 的意义下,ax 显然有一个长度为 φ(p) 的循环节,所以只需要考虑 xφ(p) 的情况即可。

暴力枚举 x 求解,时间复杂度 O(φ(p)),最坏 O(p1)

BSGS 则运用类似于拆半搜索的思想,将 x 表示成 i×tj 的形式。

于是原式 ai×tb×aj(modp)

固定 t 的值,预处理出右式所有可能的取值。

枚举计算左式可能的值,当枚举到某个在右边已经出现过的值时,此时 i×tj 就是我们要求的 x

t 的取值:

j 的取值为 φ(p)modt 共计 t1 个,i 的取值有 φ(p)t 个。

tφ(p) 时有最优复杂度(最平均),但为避免计算 φ(p),近似取 t=p 即可。

时间复杂度 O(p)

多少个1?

exBSGS

[模板]扩展 BSGS/exBSGS

求解 axb(modp) 需要满足条件 ap ,而 exBSGS (扩展 BSGS)主要解决 a⊥̸p 的情况。

d=gcd(a,p),若我们把同余式两边同时除以 d ,如此可以构造互质。

因为 daxmodp,所以 b1 时,必然有 db ,否则原同余式无解。

于是原式 ax1adbd(modpd)

运用 exgcd ,原式 ax1bd(ad)1(modpd)

但是 a 不一定与 pd 互质,于是递归进入子问题求解,直到 a 与模数互质(d=1)为止。

若对于 pN+,p1,aZ 满足 gcd(a,n)=1,则必定  rN+, s.t. ar1(modp)

满足 ar1(modp) 的最小 r 称为 ar 的阶,记为 ordp(a)=1

Theorem 1.1ordp(a)=r ,则对于 bN+ 满足 aq1(modn),都有 rq

证明:
反证法,若 rq ,设 q=kr+b0<b<r),则 aqakr+bakr×ab(modp)

由于 akrar1(modp) ,可推知 ab1(modp)

因为 b<r ,这便与阶的定义矛盾。

故命题得证。

特别地,

  • 由欧拉定理知,rφ(n)
  • p 为素数时,由费马小定理知:rn1

原根

定义:设 p 是正整数,a 是整数,若 ap 的阶等于 φ(p),则称 a 为模 p 的一个原根。

模板题 : 【模板】原根 - 洛谷

以下结论证明从略。

Theorem 2.1: 形如 2,4,2pc,pc 的数才有原根,其中 p 为奇素数。

Theorem 2.2

当求出一个原根 g 时,可以按照如下方法构造出其他所有原根:所有的 gk,kφ(p)

(gk)φ(p)1(modp)

若存在 (gk)x1(modp),x<φ(p)

那么必然存在 gkxmodφ(p)1,与 g 是原根矛盾。

由上可知,p 的原根共有 φ(φ(p)) 个。

Theorem 2.3

判断 amodp 意义下的阶是否为 φ(p) 时,只需要求得 φ(p) 的质因数 p1,p2,然后判断 aφ(p)pi 即可。

由定理 1.1 可知,判定 ax1 只需判定 φ(p) 的所有约数即可。

ax1 时,必定有 acx1

那么,可以证明取出所有 φ(p)/pi 即可判断 a 的阶是否为 φ(p)

根据如上三个定理,即可通过此题(注意特判模数为 2 的情况)。

Theorem 2.4: 设 gp 的原根,则 g1,g2gφ(p) 构成 mod p 下的简化剩余系。

易得出,g1gφ(p) 两两均不相同。

由于 gp 互质,所以 g1,g2gφ(p) 构成 mod p 意义下的简化剩余系。

指标

Theorem 2.5

gmod p 的一个原根,对于与 p 互质的整数 a ,存在唯一的整数 x 满足,gxa(modp)

Theorem 2.4 易得。

定义:

对于上述 x ,就称 x 为以 g 为底,modp 的一个指标,记为 x=indp,ga

在无歧义时,简记为 x=ind(a)

由指标的定义不难得出以下性质:

Theorem 2.6

ab(modp)ind(a)ind(b)(modφ(p))

Theorem 2.7

ind(ab)ind(a)+ind(b)(modφ(p))

Theorem 2.8

ind(ak)kind(a)(modφ(p))

小A与两位神仙

posted @   mklzc  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示