//整数二分查找:在单调递增序列a中查找>=x的数中最小的一个
while(l<r){
int mid=(l+r)>>1;
if(a[mid]>=x)r=mid;
else l=mid+1;
}
cout<<a[l]<<endl;
//整数二分查找:在单调递增序列a中查找<=x的数中最大的一个
while(l<r){
int mid=(l+r+1)>>1;
if(a[mid]<=x)l=mid;
else r=mid-1;
}
cout<<a[l]<<endl;
//实数二分查找:确定精度eds
const ll eps=1e-12;
while(l+eps<5){
double mid=(l+r)/2;
if(check())r=mid;
else l=mid;
}
03-01
7423
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交