首页 > 编程语言 >BSGS(大步小步算法)学习笔记

BSGS(大步小步算法)学习笔记

时间:2023-04-24 19:13:15浏览次数:41  
标签:小步 算法 times 同余 枚举 BSGS mod equiv

解决高次同余问题。

\(a^x\equiv b(\mod p)\),其中 \(a\) 与 \(p\) 同余。

这个形式与欧拉定理类似。

思想:meet in the middle(折半搜索)。

具体的,令 \(x=A\times t-B\),且 \(x\) 一定在 \([0,\phi(p))\) 的范围内。但是 \(p\) 是质数时复杂度还是会爆炸。

将 \(x=A\times t-B\) 带入可得,\(a^{At-B}\equiv b(\mod p)\)

移一下,\(a^{At}\equiv a^Bb(\mod p)\)

取 \(t=\sqrt p\),那么直接分别枚举 \(A,B\),把每次的 \(A\) 枚举到算出来的值用 map 映射到对应的 \(A\) 上去,再枚举 \(B\) 看看能不能对应即可。

标签:小步,算法,times,同余,枚举,BSGS,mod,equiv
From: https://www.cnblogs.com/Forever1507/p/17350557.html

相关文章

  • 浅谈秦九韶算法
    浅谈秦九韶算法好像FFT要用到,所以就学习一下听说还是高中必修三的内容?目录浅谈秦九韶算法秦九韶算法的应用:code秦九韶算法的应用:当我们知道\(x\)的值时,求下列式子的值:\[f(x)=a_0+a_1x+a_2x^2+a_3x^3+\cdots+a_{n-1}x^{n-1}+a_nx^n\]一开始看到这个式子......
  • 利用注册表限制TLS加密算法
    SChannelSSP是window实现TLS、DTLS和SSL协议的版本。不同的Windows发行版支持不同的协议版本启动注册表编辑器(Regedt32.exe),并找到以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers例如TripleDES168子项是D......
  • 求解带有限重的三维装箱问题——启发式深度优先搜索算法
    引子在这篇文章中,只考虑了尺寸的限制,没有加入重量限制。加入重量限制后,主要思路有两个关键点: 1、在简单块和复合块生成的时候,记录块的重量。 2、在填充块的时候,记录装箱过程中的总重量,达到限重则不进行填充。代码:importcopyfromitertoolsimportproductfrommatplotl......
  • 基于最低水平面的三维装箱问题的启发式算法
    本文考虑了一个事实:在某些情况下,我们在摆放物品时,总是优先选择较低的平面,基于这个常识,本文提出一种基于平面选择的三维装箱算法。“平面”指可用于摆放货物的面。初始平面就是箱的整个底面,放入第一批货物后,“平面”包括了同批货物顶面形成的面和箱底面空余的部分。本文算法采用......
  • 求解三维装箱问题的启发式深度优先搜索算法(python)
    ⭐️问题描述给定一个容器(其体积为VVV)和一系列待装载的箱子,容器和箱子的形状都是长方体。问题的目标是要确定一个可行的箱子放置方案使得在满足给定装载约束的情况下,容器中包含的箱子总体积SSS尽可能的大,即填充率尽可能的大,这里填充率指的是S/V∗100%S/V*100\%S/V∗......
  • JavaScript 实现伽马算法
    伽马函数是数学中的一个非常重要的函数,它在统计学、物理学等领域有广泛的应用,其中最重要的应用就在概率统计和计算机科学中。接下来,我们来介绍如何使用JavaScript实现伽马算法。递归实现functiongamma(x){if(x===1){return1;}else{return(x-1)......
  • 回溯算法:剑指 Offer 38. 字符串的排列
    题目描述:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 限制:1<=s的长度<=8  classSolution{Set<String>res=newHashSet<>();publicString[]permutation(Strings){b......
  • 抖音视频播放量 视频搜索接口算法 XG XK 算法 设备注册
    Q44804487于2022-08-2221:31:48发布1067收藏11文章标签:音视频ios版权最近应客户要求研究了下抖音搜索视频和播放视频的接口现在已做完放出部分接口给大家参考下注:全套需要配合抖音设备使用视频搜索接口   defsearch_video_ios(query,page,sort_type,publish_time......
  • 抖音直播间人气接口算法 抖音协议
    Q44804487于2022-04-0210:15:54发布6525收藏26文章标签:python版权因为业务需要最近研究了下抖音直播间接口发现只要一直给一个接口发送心跳包就能保持这个用户的在线状态有些团队用这个实现直播间刷虚假人气上代码片段有感兴趣的可以一起交流学习    defbullet_chat......
  • 五分钟理解Java算法的时间复杂度
    关注我了解更多Java技术知识,带你一路“狂飙”到底!上岸大厂不是梦!前言时间复杂度主要是为了反映函数的执行时间随着输入规模增长而变化的规律,在一定程度上可以体现程序的执行效率和算法的优劣。作为程序员,掌握基本的算法时间复杂度的计算是很有必要的。时间复杂度介绍理论上,执......