BSGS算法初探

BSGS算法,又称大小步算法,用于求解xt≡y(mod MOD)的问题。通过分块思想,设置Size=MOD并预处理,将问题转化为寻找合法的i值,从而得到答案i*Size-j。算法的时间复杂度为O(N),是一种高效的解决方案。
摘要由CSDN通过智能技术生成
前言

B S G S BSGS BSGS算法,全称 B a b y   S t e p   G i a n t   S t e p Baby\ Step\ Giant\ Step Baby Step Giant Step,即大小步算法。某些奆佬也称其为(Ba)(Shan)(Gai)(Shi)算法。

它的主要作用是求解形式如 x t ≡ y ( m o d   M O D ) x^t\equiv y(mod\ MOD) xty(mod MOD)的式子中 t t t的值。

而且,它是一个简单易懂的算法(毕竟连我这样的数学渣渣都能理解)。


一个简单的性质

首先,我们需要知道一个简单的性质。

费马小定理可得, x M O D − 1 ≡ 1 ( m o d   M O D ) x^{MOD-1}\equiv1(mod\ MOD) xMOD11(mod MOD)

L i n k Link Link

费马小定理详见博客筛素数方法(二)—— 费马小定理及MR素数判断

因此,当 t ≥ M O D − 1 t\ge MOD-1 t

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值