用来求解如下同余方程x的最小正整数解:
![]()
p为质数,a、b、p已知,且
(如果a、b大于p,则对他们取模)
模板:(p为素数)
/*********************解法***********************/
//BSGS算法
//求 a^x === b(mod p) 中的x值-----------当前p为素数
//实际运用中用自己的hash表代替map可防TLE
/*********************解法***********************/
LL
LL BSGS(LL a, LL b, LL p){
a %= p; b %= p;
map<LL, LL>h;
LL m = ceil(sqrt(p)), x, y, d, t = 1, v = 1;
f