最大值最小化
while(l<r)
{
int mid=(l+r)>>1;
if(check(mid))
{
r=mid;
}
else
{
l=mid+1;
}
}
最小值最大化
while(l<r)
{
int mid=(l+r+1)>>1;//注意這裏是l+r+1
if(check(mid))
{
l=mid;
}
else
{
r=mid-1;
}
}
小數二分模版
while(r-l>eps)//eps爲精度
{
int mid=(l+r)>>1;
if(check(mid))
{
r=mid;
}
else
{
l=mid;
}
}