摘要:
并查集+ 离散化 首先本题的数据范围很大,需要离散化, STL离散化代码: cpp //dat是原数据,id是编号,sub是数据的副本 sort(sub + 1, sub + tot + 1); size = unique(sub + 1, sub + tot + 1) sub 1; for(int 阅读全文
摘要:
扩展BSGS 朴素BSGS只能处理模数 $p$ 是质数的情况,但是对于其他情况,我们就可以用扩展BSGS解决 计算 $a^x \equiv b \pmod p$ ,如果 $gcd(a, p) == 1$,那么就是朴素BSGS,如果 $gcd(a, p) \not = 1$ ,根据带余除法的性质,我们 阅读全文
摘要:
BSGS 用于求解形如 $a^x \equiv b \pmod p$ 的高次同余方程的方法 BSGS(Baby Step, Giant Step), 大步小步(~~拔山盖世~~) 我们将 $x$ 写成如下形式 $x = i t j $ 其中 $t = \sqrt p$ , $ 0 \leq j \l 阅读全文
摘要:
快速幂+同余方程+BSGS 同余方程在解的时候要注意,在将exgcd求出的解变换为原方程的解的时候,要取模 BSGS的原理就是用分块+hash优化暴力,要注意特判 a 和 b 是 p 的倍数的时候. 对于预处理,要预处理出来, $0 \sim t $的Hash值,以处理 答案是 0 的情况 阅读全文