BSGS(进阶篇,解法+题目)

Posted H-w-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BSGS(进阶篇,解法+题目)相关的知识,希望对你有一定的参考价值。

进阶篇

问题:

x a ≡ b ( m o d   p ) x^a\\equiv b(mod~p)\\\\ xab(mod p)

解法一:

g g g是p的一个原根,根据原根的性质存在 c c c,满足 g c ≡ x g^c\\equiv x gcx成立,同理存在 t t t,满足 g t ≡ b g^t\\equiv b gtb成立。
∴ ( g c ) a ≡ b ( m o d   p ) ( g a ) c ≡ b ( m o d   p ) g a 已 知 , 所 以 我 们 就 能 用 基 础 篇 直 接 求 解 c , 也 就 是 一 个 特 解 。 \\therefore (g^c)^a\\equiv b(mod~p)\\\\ (g^a)^c\\equiv b(mod~p)\\\\ g^a已知,所以我们就能用基础篇直接求解c,也就是一个特解。 (gc)ab(mod p)(ga)cb(mod p)gac

解法二:

g g g是p的一个原根,根据原根的性质存在 c c c,满足 g c ≡ x g^c\\equiv x gcx成立,同理存在 t t t,满足 g t ≡ b g^t\\equiv b gtb成立。
∴ g a c ≡ g t ( m o d   p ) 根 据 阶 的 性 质 有 ∴ a c ≡ t ( m o d   φ ( p ) ) 根 据 e x g c d 求 出 c , 也 是 一 个 特 解 。 \\therefore g^{ac}\\equiv g^t(mod~p)\\\\ 根据阶的性质有\\\\ \\therefore ac\\equiv t(mod~\\varphi(p))\\\\ 根据exgcd求出c,也是一个特解。 gacgt(mod p)act(mod φ(p))exgcdc

求全部的解:

我们在已知一个特解 g c g^c gc的情况下,我们要得到全部解。
∵ g φ ( p ) ≡ 1 ( m o d   p ) ∴ ∀ t ∈ Z , x a ≡ g c a + t φ ( p ) a ( m o d   p ) ∴ ∀ t ∈ Z 且 a ∣ t φ ( p ) , x ≡ g c + t φ ( p ) a ( m o d   p ) ∵ a ∣ t φ ( p ) ∴ a g c d ( a , φ ( p ) ) ∣ t ∴ t = a g c d ( a , φ ( p ) ) i ∴ 全 部 的 解 为 : ∀ i ∈ Z , x ≡ g c + φ ( p ) g c d ( a , φ ( p ) ) i ( m o d   p ) ( 解 的 个 数 为 g c d ( a , φ ( p ) ) ) \\because g^{\\varphi(p)}\\equiv1(mod~p)\\\\ \\therefore\\forall t\\in\\mathbb{Z}, x^a\\equiv g^{ca+\\frac {t\\varphi(p)}a}(mod~p)\\\\ \\therefore\\forall t\\in\\mathbb{Z}且a|t\\varphi(p),x\\equiv g^{c+\\frac{t\\varphi(p)}{a}}(mod~p)\\\\ \\because a|t\\varphi(p)\\\\ \\therefore \\frac a{gcd(a, \\varphi(p))}|t\\\\ \\therefore t =\\frac a{gcd(a, \\varphi(p))}i\\\\ \\therefore 全部的解为:\\forall i\\in\\mathbb{Z},x\\equiv g^{c+\\frac {\\varphi(p)}{gcd(a,\\varphi(p))}i}(mod~p)\\\\ (解的个数为gcd(a,\\varphi(p)))\\\\ gφ(p)1(mod p)tZ,xagca+atφ(p)(mod p)tZatφ(p),xgc+atφ(p)(mod p)atφ(p)gcd(a,φ(p))att=gcd(a,φ(p))aiiZ,xgc+gcd(a,φ(p))φ(p)i(mod p)gcd(a,φ(p))

题目:

P3306 [SDOI2013] 随机数生成器

根据题意将原式化成等比数列的形式。再去推式子。

x i + 1 ≡ a x i + b ( m o d   p ) x i + 1 + b a − 1 ≡ a ( x i + b a − 1 ) ( m o d   p ) x n ≡ t ( m o d   p ) a n − 1 ( x 1 + b a − 1 ) − b a − 1 ≡ t ( m o d   p ) a n − 1 ≡ ( t + b a − 1 ) ∗ i n v ( x 1 + b a − 1 ) ( m o d   p ) x_{i+1}\\equiv ax_i+b(mod~p)\\\\ x_{i+1}+\\frac b{a-1}\\equiv a(x_i+\\frac b{a-1})(mod~p)\\\\ x_n\\equiv t(mod~p)\\\\ a^{n-1}(x_1+\\frac b{a-1})-\\frac b{a-1}\\equiv t(mod~p)\\\\ a^{n-1}\\equiv (t + \\frac b{a-1})*inv(x_1+\\frac b{a-1})(mod~p)\\\\ xi+1axi+b(mod p)xi+1+a1ba(xi+a1b)(mod p)xnt(mod p)an1(x1+a1b)a1b编程挑战JavaScript进阶篇(慕课网题目)

C语言进阶学习笔记二指针的进阶(练习篇)

BSGS(基础篇,题目+详解)

Flutter进阶篇(4)-- Flutter的Future异步详解

MODEM进阶篇

2017级算法模拟上机准备篇(序列DP 进阶_1)