码迷,mamicode.com
首页 > 其他好文 > 详细

知识点简单总结——BSGS与EXBSGS

时间:2020-01-21 18:10:18      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:返回   变化   用处   经典   大小   www   com   总结   href   

知识点简单总结——BSGS与EXBSGS

BSGS

给出 $ A,B,C,(A,C)=1 $ ,要你求最小的 $ x $ ,使得 $ A^x \equiv B(mod \ C) $ 。

在数论题中经常会看见这样的式子,而它的用处确实也不少,例如:
指标
。。。想不到了(被打)

解题思路

众所周知 $ A^{x} \equiv A^{x \ mod \ \phi (C) }(mod \ C) $

所以考虑暴力枚举就可以。

但是我们显然要考虑一个更快的。

分块就好了。

设块大小 $ m $ ,预处理出 $ A^{1,2,...,m-1} $ 扔进哈希表。

剩下的应该不难了,经典分块一般的操作。

枚举每一个 $ i $ ,左式 $ =A^{im} $ 时哈希表里是否存在一个值 $ z $ 使得 $ A^{im}*z \equiv B(mod \ C) $ ,存在的话就返回该最小答案。

EXBSGS

同上,唯一变化就是不保证 $ (A,C)=1 $ 。

既然它不给保证那就我们自己让它转化成 $ (A,C)=1 $ 。

对于 $ A^x \equiv B(mod \ C),(A,C)=d $ ,直接全都除以 $ d $ ,

(如果 $ B \ mod \ d \neq 0 $ 直接无解)

变成 $ (A/d)*A^{x-1} \equiv B/d(mod \ C/d) $ 。

此时仍然无法保证 $ A $ 与 $ C/d $ 互质,

那么就重复以上操作直到互质。

然后就没了。

知识点简单总结——BSGS与EXBSGS

标签:返回   变化   用处   经典   大小   www   com   总结   href   

原文地址:https://www.cnblogs.com/rikurika/p/12222439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!