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.输出左端点不懂。

猜你喜欢

转载自blog.csdn.net/Irving0323/article/details/81539883