前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >疯子的算法总结12--倍增

疯子的算法总结12--倍增

作者头像
风骨散人Chiam
发布2020-10-28 10:21:26
3000
发布2020-10-28 10:21:26
举报
文章被收录于专栏:CSDN旧文

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档