BSGS(Baby Steps,Giant Steps)算法详解

简介:

  此算法用于求解 Ax≡B(mod C);

  由费马小定理可知;

  x可以在O(C)的时间内求解;  在x=c之后又会循环;

  而BSGS(拔山盖世)算法可以在O(C0.5)的时间内求解出;


内容:

  主要运用分块的思想;

  将 x=i*m-j,其中m=ceil(sqrt(C));

  A(i*m-j)≡B(mod C);

  Ai*m / A≡ B(mod C);

  Ai*m ≡ B * Aj(mod C);

  枚举每个j(0<=j<=m),将B*Aj存入map;

  再枚举每个i(0<=i<=m),判断Ai*m是否在map中存在值;


例题:

  [SDOI2011]计算器   题解见http://www.cnblogs.com/WQHui/p/7592381.html;

  

  

最新文章

  1. java.sql.SQLException: ORA-00972: 标识符过长
  2. 循序渐进Python3(十二) --1-- &#160;web框架之django
  3. AspNet MVC 缓存
  4. QGrphicsView, QGraphicsScene 和 QGraphicsItem 的区别
  5. Gunicorn + Django 部署
  6. 第一个Sprint冲刺第二天
  7. 简明python教程 --C++程序员的视角(八):标准库
  8. GPIO 配置之ODR, BSRR, BRR 详解
  9. SQL优化 csdn
  10. [转]Oracle SQL性能优化
  11. 用Thread类创建线程-2
  12. 通过Shell和Redis来实现集群业务中日志的实时收集分析
  13. mysql中 union是什么鬼
  14. HDU 2412 Farm Irrigation
  15. JNI 方法注册与签名+BufferedReader使用readLine问题
  16. CSS margin负值学习及实际应用
  17. NPOI的一些基本操作
  18. sql server2016里面的json功能 - 转
  19. waffit防火墙检测
  20. web-day1

热门文章

  1. python子域名收集器
  2. AtCoder Regular Contest 076
  3. 51Nod 1289 大鱼吃小鱼(模拟,经典好题)
  4. hdu_1019Least Common Multiple(最小公倍数)
  5. linux下如何删除文件夹?
  6. POI Sax 事件驱动解析Excel2007文件
  7. UEP-保存
  8. map的本质
  9. 程序员是这样区分Null和Undefined
  10. 学习JVM-GC收集器