POJ 3243 Clever Y

题意

求解最小的x使得A^x=B(mod C)成立,C不保证是素数。

思路

C不保证素数的BSGS,这时使用扩展BSGS解决,扩展BSGS的实质是在BSGS之前利用这个定理:

Ad=Bd(mod C) <=> A=B(mod C/gcd(C,d))

将问题转化为一般BSGS能够解决的形式,再使用一般BSGS解决。

代码

POJ 2417 Discrete Logging这个问题中也使用了如下exBSGS的代码。

 

Leave a Reply

Scroll to top