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、扩展欧几里得算法) 哎呀大水题。。我写了一个多小时。。好没救啊。。 数论板子X合一? 注意: 本文中变量名称区分大小写。 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}b_i\mod P
这个题目坑啊,查来查去,排查了好久,发现自己快速幂写错了。。。 这个题目有三个询问 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) 第一个用快速幂求
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