二分模板

二分两种写法

  1. 保留下界 但是忽略左答案

    	while(l+1<r)
    	{
    		int mid=(l+r)>>1;
    		if( check(mid) )  r=mid;//错误点1 
    		else l=mid;
    	}
    	return r;
    
  2. 保留上界 忽略右答案

    	while(l+1<r)
    	{
    		int mid=(l+r)>>1;
    		if( check(mid))  l=mid;//错误点1 
    		else r=mid;
    	}
    	return l;
    
  3. 二分查找的时候 是 >= 要有等号
    由上下界决定是哪一种写法

posted @ 2022-01-20 14:31  __iostream  阅读(31)  评论(0)    收藏  举报