bsgs专题

Poj 2417 Discrete Logging —— BSGS模板

This way 题意: 告诉你B,N,P,让你求最小的L使得 题解: BSGS模板,大致意思是将L变成ax+b的形式,定下x之后,式子就变成了这样: B b = = N B − a x ( m o d P ) B^b==NB^{-ax}(mod P) Bb==NB−ax(modP) 那么我们只需要先枚举b(0<=b<=x),将所有值都记下来,再枚举a,同时查询即可。 这道题如果将x

Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)...

Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法) 哎呀大水题。。我写了一个多小时。。好没救啊。。 数论板子X合一? 注意: 本文中变量名称区分大小写。 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}b_i\mod P

Codeforces 1106F Lunar New Year and a Recursive Sequence (线性代数、线性递推、数论、BSGS、扩展欧几里得算法)...

哎呀大水题。。我写了一个多小时。。好没救啊。。 数论板子X合一? 注意: 本文中变量名称区分大小写。 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}^{b_i}\mod P\)其中\(P=998244353\), 输入\(b_1,b_2,...,b_n\)以及已知\(f_1,f_2,...,f_{n-1}=1\), 再给定一个数\(m\)和第\(m\

Bzoj 3122 [Sdoi2013]随机数生成器(BSGS+exgcd)

Input 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数。 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据。保证X1和t都是合法的页码。 注意:P一定为质数 Output 共T行,每行一个整数表示他最早读到第t页是哪一天。如果他永远不会读到第t页,输出-1。 Sample Input 3 7 1 1 3 3 7 2 2 2 0 7 2 2

算法学习之BSGS(大步小步)及其扩展

BSGS 大步小步算法,也称拔山盖世算法... 求解 :   已知 A,B,P得情况下,求解x 分为普通情况和扩栈情况. 1.先说普通情况, P是素数(确定的), 或 P为非素数但 , ,A,P, 互质时 开始之前先证明一个结论: 如果,那么对于x∈N,有  也就是费马小定理. 证明:因为,根据欧拉定理,得 设k∈N,根据同幂性,得 设a∈N且a<φ(P),所以 即,得证。

计算器(BSGS,快速幂,exgcd)

这个题目坑啊,查来查去,排查了好久,发现自己快速幂写错了。。。 这个题目有三个询问 1、 yz y z y^z mod m o d mod p p p2、xyxyxy ≡ z(mod z ( m o d z(mod p) p ) p) (求x) 3、 yx≡z(mod y x ≡ z ( m o d y^x ≡z(mod p) p ) p)(求x) 第一个用快速幂求

[bzoj3122][BSGS]随机数生成器

Description Input 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数。 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据。保证X1和t都是合法的页码。 注意:P一定为质数 Output 共T行,每行一个整数表示他最早读到第t页是哪一天。如果他永远不会读到第t页,输出-1。 Sample Input 3 7 1 1

poj 3243 扩展BSGS

每次把gcd(a,c)提到前面,直到a,c互质,然后就是普通BSGS了 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define LL long longusing namespace std;struct hashtable{static const

bzoj 3239 poj 2417 BSGS

BSGS算法,预处理出 ϕ(c)−−−−√ \sqrt{\phi(c)}内的a的幂,每次再一块一块的往上找,转移时将b乘上逆元,哈希表里O(1)查询即可 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<map>#define LL long lo