基础篇 BSGS(baby-step giant-step),即大步小步算法。常用于求解离散对数问题。形象化的说,该算法可以在$O(\sqrt p)$的时间内求解$a^x \equiv b(\mod p)$(即求解高次同余方程) 其中$a \perp b$。方程的解$x$满足$0\le x < p$ ...
转载
2021-07-14 17:19:00
70阅读
2评论
用途:求\\( a^x \equiv b (mod\ p) 中的x \\) 一、对于p为质数的情况 此时
转载
2018-01-26 17:01:00
54阅读
2评论
#include<iostream>
#include <unordered_map>
#include<cmath>
using namespace std;
#define int long long
int bsgs(int a,int b,int p)
{
if(1%p==b%p) return 0;
unordered_map&
原创
2021-07-22 16:05:34
10000+阅读
模板如下: 扩展版本: 求解a^k=b %p 求k,最小的k一定小于p,否则会重复,否则无解 gcd(a,p)=1时 设k=mi+v m=sqrt(p); i,v include include define MOD 76543 using namespace std; int hs[MOD], h
原创
2021-07-16 11:54:10
100阅读
求解 A^x ≡ B mod C C是质数 的最小非负整数解 证明:A^x ≡ A^(x%φ(C)) mod C A^(x%φ(C)) ≡ A^(x-k*φ(C)) ≡ (A^x)/ A^(k*φ(C)) ≡ A^x mod C 所以枚举的话,x只需要枚举[0,φ(c)-1] 若x在[0,φ(C)-
原创
2021-08-05 10:53:33
293阅读
"扩展BSGS模板" 求 $A^x\equiv B(\mod p)$ 为什么不能有BSGS了? 因为 我们的BSGS是根据欧拉定理的出来的。 欧拉定理 当 a p互质的时候 $a^{\phi(p)}\equiv 1\mod p$ 所以 我们在BSGS的时候 质数始终都是在[0,$\phi(p)$ 1
转载
2020-03-19 19:35:00
41阅读
2评论
[模板] BSGS 求一种特殊同余方程,\(a^x≡b\ (mod \ P)\) 的最小整数解,其中 \(a \ P\) 互质 的一种算法。 又叫做 Baby Step,Giant Step(大步小步)算法。 算法 设 \(x=i*t-j\),其中 \(i=\sqrt{p}\) ,\(0\leq j ...
转载
2021-08-12 18:21:00
52阅读
2评论
一.引入: 若存在一个式子a^b ≡ c (mod p) (p ≡ 1000000007,且0<a,b,c<p) 已知a,b,求c. 这不就是快速幂嘛! 已知a,c,求b. 这就是我们需要研究的问题!用到了BSGS! 题目链接:poj 2417 bsgs 二.概念 BSGS: 又名大步小步算法.具体
原创
2021-08-03 09:36:57
143阅读
b(bei)s(shang)g(guang)s(shen)算法 专门用来解决 x^y 同余于 z(mod p) 已知x,z求y 这里写代码片#include#include#define ll long longusing namespace std;const ll...
转载
2017-08-03 09:09:00
201阅读
2评论
求解A^x ≡ B mod P (P不一定是质数)的最小非负正整数解 先放几个同余定理: 一、判断如果B==1,那么x=0,算法结束 二、若gcd(A,P)不能整除 B,则 无解,算法结束 三、若gcd(A,P)!=1,令d=gcd(A,P),若d不能整除B,则无解,算法结束。 有 四、持续步骤三,
原创
2021-08-05 10:50:00
74阅读
众所周知bsg是处理ax≡b(modp)求最小的幂次如果(a,p)=1我们可以发现ax≡ax%ϕ(p)那么只需要开一个p的块先预处理出来p的余数,放进hash表里注意这里hash表存的是右边,也就是带有b的p的幂次,每次查找的时候一整块一整块查询复杂度O(p)那么exgs能处理什么问题呢?
原创
2021-10-11 17:54:08
334阅读
BSGS介绍这是一个求解ax≡b(modp)a ^ {x} \equiv b \pmod pax≡b(modp),的方法。并且ppp是质数,a,pa, pa,p互质,费马小定理可知,
原创
2021-08-26 17:06:53
89阅读
VI.BSGS(大步小步算法) 欢迎来到 北上广深 拔山盖世 比赛搞事 不算个事 算法学习现场。 BSGS,全名 Baby Step Giant Step 算法,是用于求解 \(a^x\equiv b\pmod p\),其中 \(\gcd(a,p)=0\) 的算法。 我们记 \(K=\sqrt{p}
转载
2021-04-06 11:08:00
130阅读
也许更好的阅读体验文章目录$Description$$BSGS$$EXBSGS$$Code$DescriptionDescriptionDescription给定a,b,pa,b,pa,b,p,求一个xxx使其满足ax≡b (mod p)a^x\e
原创
2021-12-27 14:52:14
46阅读
思路:和BSGS模板题类似,只是这道题没有规定a与p互质,因此朴素的BSGS算法已经无法解决该题,于是引入了扩展BSGS算法,其实该算法不难,既然a
原创
2021-09-03 15:37:48
228阅读
题意:有T组样例,一共n个人传球,从1号开始最后回到1号,给定方案数,求最小的传球次数。(t<=100,n<=1e6,方案数<=998244353)
思路:考虑推柿子 。 f[i]代表从1号开始传了i次回到1号的方案数,f[i]=(n-2)*f[i-1]+(n-1)*f[i-2],这里考虑两种情况*,第i-1个人如果是1号人员和不是1号人员,如果是一号人员,那么情况就是第i个人
原创
2021-07-27 15:11:42
10000+阅读
题意 给定 $a,b$ 和模数 $p$,求整数 $x$ 满足 $a^x \equiv b(mod \ p)$,不保证 $a,p$ 互质。 (好像是权限题,可见洛谷P4195 分析 之前讲过,可以通过设置 $x = km - r$ 而非 $x = km + r$ 避免求逆元,但是需要逆元存在,$a,
转载
2019-09-10 10:35:00
76阅读
2评论
什么是bsgs?BSGS一般是求下面这个公式:,a、b、p已知,求n。将n分解为那么原公式可以化简为,模数已经省略。此时我们可以枚举x从1到sqrt(p)用一个map保存左边的数。接着枚举y从1到sqrt(p),把右边的值算出来,从map里查找即可。类似折半搜索。。那么这个题怎么用bsgs呢?题目公式:求前几项可以得到得到一般公式,后面这一项就是等比公式的求和...
原创
2022-03-13 11:27:19
51阅读
什么是bsgs?BSGS一般是求下面这个公式:,a、b、p已知,求n。将n分解为那么原公式可以化简为,模数已经省略。此时我们可以枚举x从1到sqrt(p)用一个map保存左边的数。接着枚举y从1到sqrt(p),把右边的值算出来,从map里查找即可。类似折半搜索。。那么这个题怎么用bsgs呢?题目公式:求前几项可以得到得到一般公式,后面这一项就是等比公式的求和...
原创
2021-09-06 14:24:14
84阅读
BSGS 概述 BSGS算法是用于求解同余方程$a^x \equiv b \ (mod \ p)$(其中$a,p$互质)的最小自然数解(或正整数解)高效算法,复杂度$O(\sqrt p)$ 思路 首先由欧拉定理,有$a^{\varphi (p)} \equiv 1 \ (mod \ p)$,于是$a ...
转载
2021-07-22 10:10:00
132阅读
2评论