EXBSGS】的更多相关文章

标题效果:给定一列数X(i+1)=(a*Xi+b)%p 最低要求i>0.所以Xi=t 0.0 这个问题可以1A那很棒 首先讨论特殊情况 如果X1=t ans=1 如果a=0 ans=b==t? 2:-1 若a=1 X1+b*(ans-1)==t (%p) 扩展欧几里得 令 temp=b/(a-1) 则有 (X(i+1)+temp)=a*(Xi+temp) Xans=(X1+temp)*a^(ans-1)-temp 当中Xans%p=t 则有 (X1+temp)*a^(ans-1)-temp ==…
题目描述 已知数a,p,b,求满足a^x≡b(mod p)的最小自然数x. 输入     每个测试文件中最多包含100组测试数据.     每组数据中,每行包含3个正整数a,p,b.     当a=p=b=0时,表示测试数据读入完全. 输出     对于每组数据,输出一行.     如果无解,输出“No Solution”(不含引号),否则输出最小自然数解. 样例输入 5 58 33 2 4 3 0 0 0 样例输出 9 No Solution 提示 100%的数据,a,p,b≤1e9. $EX…
\(BSGS\)用于解决这样一类问题: 求解\(A^x ≡B(modP)\)的最小\(x\),其中\(P\)为质数. 这里我们采用分块的方法,把\(x\)分解为\(i *t-b\)(其中\(t\)是分块大小) .根据模意义下逆元的性质,\(x\)的大小一定\(<=phi(p)\)即\(p - 1\),所以经过移项和进行存在性对比,我们就可以\(O(N)\)求出答案. int BSGS (int A, int B, int P) { int t = (int) ceil (sqrt (P)); f…
http://acm.hdu.edu.cn/showproblem.php?pid=2815 //解 K^D ≡ N mod P #include<map> #include<cmath> #include<cstdio> #include<iostream> using namespace std; map<int,int>mp; typedef long long LL; void read(int &x) { x=; char c=…
\(\rm{0x01\quad Preface}\) \(emmm\)严格来讲,不应该被算到一个模板里面.因为在我看来模板是人构造出来的,但是这个算法应该是一个解决问题的\(process\)-更像是在解一道数学题,如果\(BSGS\)是定理的话,\(exBSGS\)更像是一个不断转化的过程233(手动@lxa并且溜 \(\rm{0x02\quad Algorithm~Process}\) 今天才发现原来\(\rm{BSGS}\)有两种写法--并且觉得剩下的题解讲的都讲的不是很全的样子233.…
如果a和p互质,用扩欧求逆元就可以直接套用普通BSGS.考虑怎么将其化至这种情况. 注意到当x>=logp时gcd(ax,p)是一个定值,因为这样的话每个存在于a中的质因子,其在ax中的出现次数一定比在p中的多. 于是对x<logp的情况暴力验证.对x>=logp的情况,设d=gcd(ax,p),剩下的问题变为求ax/d≡b/d(mod p/d),这里ax和p/d显然就是互质的了. 要求解这个方程,显然不能把d直接乘过去(好像也说不清为啥).首先b%d>0时无解.然后考虑从ax中分…
大步小步走算法处理这样的问题: A^x = B (mod C) 求满足条件的最小的x(可能无解) 其中,A/B/C都可以是很大的数(long long以内) 先分类考虑一下: 当(A,C)==1 即A.C互质的时候, 叫他BSGS: A一定存在mod C意义下的逆元,所以,A^k也存在. 注意到,A^(fai(c)) = 1 (mod c)  ......................(fai(c)表示c的欧拉函数值) 所以,A^(fai(c)+1) = A (mod C) 就重新回去了. 所…
exBSGS学习笔记 Tags:数学 题目的话就做下洛谷的模板好了 // luogu-judger-enable-o2 #include<algorithm> #include<iostream> #include<cmath> #include<map> using namespace std; int A,B,P; map<int,int> H; int ksm(int x,int k) { int s=1;for(;k;k>>=…
[模板]exBSGS/Spoj3105 Mod 题目描述 已知数\(a,p,b\),求满足\(a^x\equiv b \pmod p\)的最小自然数\(x\). 输入输出格式 输入格式: 每个测试文件中最多包含\(100\)组测试数据. 每组数据中,每行包含\(3\)个正整数\(a,p,b\). 当\(a=p=b=0\)时,表示测试数据读入完全. 输出格式: 对于每组数据,输出一行. 如果无解,输出No Solution(不含引号),否则输出最小自然数解. BSGS 若\(A \perp p\)…
思路: 前两题题面相同,代码也相同,就只贴一题的题面了.这三题的意思都是求A^X==B(mod P),P可以不是素数,EXBSGS板子题. SPOJ3105题目链接:https://www.spoj.com/problems/MOD/ POJ3243题目链接:http://poj.org/problem?id=3243 题目: 代码实现如下: #include <set> #include <map> #include <queue> #include <stac…