BZOJ 1420: Discrete Root (原根+BSGS)】的更多相关文章

题意 已知kkk, aaa, ppp. 求 xk≡a (mod p)x^k\equiv a\ (mod\ p)xk≡a (mod p) 的所有根. 根的范围[0,p−1][0,p-1][0,p−1]. ppp为质数 分析 因为ppp是质数,那么一定有原根.设为ggg. 原根的性质如下: 对于[1,p−1][1,p-1][1,p−1]的所有iii,一定存在x∈[1,p−1]x\in[1,p-1]x∈[1,p−1]使得gx≡i (mod p)g^x\equiv i\ (mod\ p)gx≡i (mo…
题目传送门 戳我来传送 题目大意 给定$k, p, a$,求$x^{k}\equiv a \pmod{p}$在模$p$意义下的所有根. 考虑模$p$下的某个原根$g$. 那么$x  = g^{ind_{g}x}, a = g^{ind_{g}a}$. 所以原方程转化为$g^{k\cdot ind_{g}x}\equiv g^{ind_{g}a} \pmod{p}$. 所以方程等价于$k\cdot ind_{g}x \equiv ind_{g}a \pmod{\varphi(p)}$. 用exgc…
思路:数学大汇总 提交:\(3\)次 错因:有一个\(j\)写成\(i\) 题解: 求:\(x^k \equiv a \mod p\) 我们先转化一下:求出\(p\)的原根\(g\) 然后我们用\(BSGS\)可以求出 \(g^b \equiv a \mod p\),即\(a\)的指标\(b\).然后因为原根的幂可以表示\([0,p-1]\)中的任何一个数,所以设\(x=g^y\),原式可以转化成 \((g^y)^k \equiv a \mod p\),即\(g^{y*k} \equiv g^b…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3239 [题目大意] 计算满足 Y^x ≡ Z ( mod P) 的最小非负整数 [题解] BSGS裸题. [代码] #include <cstdio> #include <cmath> #include <map> #include <algorithm> #include <tr1/unordered_map> using name…
我先转为敬? orz% miskcoo 贴板子 BZOJ 3239: Discrete Logging//2480: Spoj3105 Mod(两道题输入不同,我这里只贴了3239的代码) CODE #include<bits/stdc++.h> using namespace std; typedef long long LL; int p, a, b; int gcd(int a, int b) { return b ? gcd(b, a%b) : a; } inline int qpow…
1319: Sgu261Discrete Roots Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 389  Solved: 172 Description 给出三个整数p,k,a,其中p为质数,求出所有满足x^k=a (mod p),0<=x<=p-1的x. Input 三个整数p,k,a. Output 第一行一个整数,表示符合条件的x的个数. 第二行开始每行一个数,表示符合条件的x,按从小到大的顺序输出. Sample Input 11 3…
都是BSGS的板子题 此时 \( 0 \leq x \leq p-1 \) 设 \( m=\left \lceil \sqrt{p} \right \rceil ,x=i*m-j \)这里-的作用是避免逆元 于是可以把式子变形成这样:\( a^{im}\equiv ba^j(mod p) \) 枚举右边\( 0 \leq j <m \) ,用map或者hash以模数为下标来存每一个j 枚举左边\( 0 \leq i <m \) ,在map或者hash中查找对应的模数 #include<i…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1420 http://www.lydsy.com/JudgeOnline/problem.php?id=1319 [题解] 求x^A=B(mod P),其中P是质数. 考虑对两边取log,设g为P的原根. Alog(x) = log(B) (mod P-1) log(x)表示以g为底的log 那么log(B) = y,其中g^y = B (mod P),用BSGS求出即可. 我们要求的是x,…
Discrete Logging Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5577   Accepted: 2494 Description Given a prime P, 2 <= P < 231, an integer B, 2 <= B < P, and an integer N, 1 <= N < P, compute the discrete logarithm of N, b…
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1123.html 题目传送门 - 51Nod1123 题意 $T$ 组数据. 给定 $A,B,C$,求出使得 $x^A \equiv C \pmod B$ 的所有 $x$,保证解的个数不超过 $\sqrt B$ . $T\leq 100,1\leq A,B,C \leq 10^9$ 题解 先记一下写这一题的感受: 1. 写的过程中代码长度峰值达到过 300 行,好久没写码农题了,感到自己码力大减.…