最近发现倍增讲的很少,这可以理解为二分新姿势!

我们设想一个背景,公主被邪恶的王八抓走了,马里奥大叔这次要去救公主了,如果他到的不及时公主就要被杀死了,他能抱得美人归吗?马里奥有一种神奇的能力,它可以在一秒钟之内走任意距离!已经知道了王八城堡很高,在哪里都能看见!

憨批马里奥:地球是圆的,我向相反的方向走,额。。。走多少米呢?不知道唉,于是他走了N圈地球后公主被杀了。

淳朴马里奥:我每次直走一米,我一定不会错过,那我每次走两米,也不会错过太多,那要是我一开始走三步,然后走一步也不会超过太多,到底怎么走呢?只能摸索的前进了,过了倒回来,于是公主也被杀了。

倍增马里奥:我第一次走1米,第二次我走2米,第三次我走4米。。。。。。。第N我走2^(n-1)米,要是我走过了那么我会在少走一半,要是在多走,我会回去少走一半,那么 次方式 的增长所需要时间绝对是少的,于是他拯救公主成功了,怎么成功的呢?我们看看他的策略:

虽然在这里我们还是觉得他的操作次数太多了,但是当这个距离很长的时候,按指数倍增长后 的次数不会多很多,就像1000最大也不过是9+9步,其实没这么多10步多一点,这时候倍增的好处就体现出来了。

关于倍增比较基础的算法就是ST表,静态RMQ算法:戳这里

疯子的算法总结12--倍增相关推荐

  1. LCA 朴素算法+树差分倍增+Tarjan算法 三种算法实现c++代码实现

    哔哩哔哩up视频:https://www.bilibili.com/video/BV1nE411L7rz?t=379 转载:http 文章目录 树差分 & 倍增LCA Tarjan 朴素算法 ...

  2. stm32工程和算法分享(12)--精准闪烁灯[定时中断]

    stm32工程和算法分享(12)–精准闪烁灯[定时中断] 两种方式 闪烁与定时器同步 利用标志位,定时器设置的时间间隔较小 不要在定时器中断函数写太多语句,我们通常借助标志位来实现 我们设置400ms ...

  3. 算法学习12: 单调队列和单调栈

    算法学习12: 单调队列和单调栈 单调队列 单调队列解决的问题: 窗口内最大/最小值的更新结构 单调队列的结构和操作 单调队列的应用 题目一: 生成窗口最大值数组[leetcode 239](http ...

  4. 算法题12 数组中所有的逆序对

    题目 求一个数组中所有的逆序对数,如数组arr[]={5,2,4,9,8,6,13,14},逆序对有5,2; 5,4; 9,8; 9,6; 8,6; 逆序对数为5 分析 因为数组不是排序的,所以要找一 ...

  5. 疯子的算法总结10--最小生成树Kruscal

    按照权值排序可得,就有如下顺序: 1. 1-2 1 2. 1-4 2 3. 1-5 2 4. 2-5 3 5. 2-3 4 6. 4-5 4 每次选取最小边泉,判断是否同属一个集合,如果不属于同一集合 ...

  6. 疯子的算法总结(二) STL Ⅰ 算法 ( algorithm )

    写在前面: 为了能够使后续的代码具有高效简洁的特点,在这里讲一下STL,就不用自己写堆,写队列,但是做为ACMer不用学的很全面,我认为够用就好,我只写我用的比较多的. 什么是STL(STl内容): ...

  7. 【常见笔试面试算法题12续集四】动态规划算法案例分析4 LCS练习题练习题(最长公共子序列的长度)

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 给定两个字符串A和B,返回两个字符串的最长公共子序列的长度.例如,A ...

  8. 【常见笔试面试算法题12】动态规划算法案例分析

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 文章目录 1.暴力搜索方法 2.记忆搜索方法 3.动态规划方法 4. ...

  9. 数据结构与算法:12 数组与稀疏矩阵

    12 数组与稀疏矩阵 知识结构: 1. 数组 1.1 数组的定义 数组是具有一定顺序关系的若干对象组成的集合,组成数组的对象称为数组元素. 例如: 向量对应一维数组 A=(a0,a1,⋯,an−1)A ...

最新文章

  1. 成都华育php笔试题,一套PHP的笔试题
  2. 【 FPGA 】FIR 滤波器的架构
  3. Ubuntu Snap 简述
  4. 参加Google™ Code Jam - 中国编程挑战赛(2)
  5. 2013年7月04日_回顾总结
  6. 【2018.5.12】模拟赛之三-ssl2415 连通块【并查集】
  7. MSN-LDL论文修改(B-Y Rong20211012)
  8. 数据库重建索引 计划任务
  9. 简单的python案例_实现的简单python例子
  10. groovy 使用java类_深入学习java中的Groovy 和 Scala 类
  11. linux asp.net 性能优化,ASP.NET性能优化之减少请求
  12. P1373 小a和uim之大逃离
  13. matlab hough变换检测平行直线,浅谈Hough变换的平行直线检测改进方案
  14. 旷视科技 face++ 嵌入式软件开发-面试---深度好文
  15. Ubuntu强制修改root密码
  16. Virtualbox-ubuntu22.04-安装增强功能
  17. Wordpress网页直接插入bilibili视频方法
  18. 抖音一机两号有影响吗?抖音一个设备可以运营多个抖音号吗
  19. 当window.opener无法调用时的原因与解决方案
  20. 服务器连无线路由器视频教程,远程服务器路由器设置教程视频

热门文章

  1. ueditor html中使用方法,vue集成百度UEditor富文本编辑器使用教程
  2. rpm mysql 指定目录_rpm 安装并配置MySQL(包含指定数据存储路径)
  3. 自制最小的无盘网络服务器,无盘网络终极制作2003服务器端安装准备
  4. Spring_Bean的作用域---和使用外部属性文件
  5. Android仿微信高效压缩图片(libjpeg)
  6. “指定的文件名无效或太长” 无法拷贝,咋办
  7. 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
  8. win7磁盘设置背景方法
  9. Win2003 + SQL 2005 做数据库集群总结(虚拟机)
  10. 广电宽带业务发展的四种策略