永远不能变的二分

Posted Captain_Von

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了永远不能变的二分相关的知识,希望对你有一定的参考价值。

二分可以说是我一直以来的痛了,经常不是死循环就是答案错误,今天我终于弄翻了它,正确代码如下:

int mid_div(int l,int r)
{
    int left=l,right=r;
    //left从0还是从1开始都行 
    while(left<=right)
    {
        space=0;
        mid=(left+right)/2;
        if(dfs(mid,1))
        {
            ans=mid;
    //先记录下来,万一后面跳过了,就返回一直很"保守"的ans 
            left=mid+1;//上跳            
        }
        else
            right=mid-1;//下跳 
    }
    return ans;
}

 

以上是关于永远不能变的二分的主要内容,如果未能解决你的问题,请参考以下文章

onRequestPermissionsResult 永远不会在片段中被调用 [重复]

永远观察实时数据的片段

Object.preventExtensions()使用技巧

Blue:贪心,单调队列

显示 Fragment 时,应用程序永远冻结

从片段中捕获图像