二分区间是不是这几种方法都可以?
  • 板块学术版
  • 楼主quliannanyishou
  • 当前回复20
  • 已保存回复20
  • 发布时间2022/9/24 21:10
  • 上次更新2023/10/27 10:05:08
查看原帖
二分区间是不是这几种方法都可以?
682390
quliannanyishou楼主2022/9/24 21:10

最左区间 1

while(l<r)
	{
		int mid=(l+r)>>1;
		if(check()>=mid)
		{
			r=mid;
		}
		else
		{
			l=mid+1;
		}
	}
	cout<<l;

2

while(l+1<r)
	{
		int mid=(l+r)>>1;
		if(check()>=mid)
		{
			r=mid;
		}
		else
		{
			l=mid;
		}
	}
	cout<<l;

最右区间1

r++;
	while(l<r)
	{
		int mid=(l+r)>>1;
		if(check()>mid)
		{
			r=mid;
		}
		else
		{
			l=mid+1;
		}
	}
	cout<<l-1;

2

r++;
	while(l+1<r)
	{
		int mid=(l+r)>>1;
		if(check()>mid)
		{
			r=mid;
		}
		else
		{
			l=mid;
		}
	}
	cout<<l;
2022/9/24 21:10
加载中...