二分答案的模板

二分答案是求解最大中的最小值或最小中的最大值的常用解法,模板如下:

while(r-l>1){
        mid=(l+r)>>1;
        if(judge(mid)){
            l=mid;
                //左边界右移 
        }else{
            r=mid;
                //右边界左移 
        }
    }
    if(judge(r)) cout<<r;
    else cout<<l;

猜你喜欢

转载自www.cnblogs.com/MS903/p/11247826.html