POJ 3258 二分

 

要求:河中有0 - N+1共N+2个点,且这些点共线,依次从0点跳到N+1点,且1-N点可删去M个点,点与点之间均有不为0的间隔。

问删去M个点后两点之间间隔的最大值是多少?

方法:二分查找。

先放上去二分模板链接:https://www.cnblogs.com/Yan-C/p/3908263.html

1.遍历N+1个间隔,并将间隔累加,累加一次记一次数,当累加到mid时,判定累加次数,若小于等于M,则将二分的左端点加1,

否则将右端点减1,当l>r时,跳出循环。

2.输出l。

逻辑是如果达到这个距离了所移走的石头数目比给定的数目多则缩小最小距离,如果移走的石头数目比给定的数目少则增大距离。

不解处:1.累加次数加多了。

               2.输出左端点不懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值