BSGS 大步小步
BSGS 大步小步
BSGS 用于求形同
$$a^x \equiv b \mod{p}$$的方程。
我们令 $x = k \lfloor\sqrt{p}\rfloor + c$。
则有
$$x^{k \lfloor\sqrt{p}\rfloor + c} \equiv b \mod{p}$$稍微推导,即可得到
$$a^c \equiv \cfrac{b}{a^{k \lfloor\sqrt{p}\rfloor}} \mod{p}$$枚举 $k$ ,范围为 $1\to\lfloor\sqrt{p}\rfloor$ 。
预处理 $a_0 \to a_p$ 存入哈希表 $h$ 中,注意:若有相同取值,取指数较小的那个。
对于每个 $\cfrac{b}{a^{k \lfloor\sqrt{p}\rfloor}}$ ,判断是否位于 $h$ 中。
如果存在,输出 $h[\cfrac{b}{a^{k \lfloor\sqrt{p}\rfloor}}] + k \lfloor\sqrt{p}\rfloor$。
若没有,则无解。

                
            
        
浙公网安备 33010602011771号