关于二分
  • 板块学术版
  • 楼主我去
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/7/5 16:49
  • 上次更新2023/11/4 18:36:21
查看原帖
关于二分
48316
我去楼主2021/7/5 16:49

请问这两个二分有什么区别吗

EPS=1e-8

double res=INF,l=0,r=1e9;
while(l+EPS<=r){
    double mid=(l+r)/2.0;
    if(Check(mid)) res=mid,l=mid+EPS;
    else r=mid-EPS;
}
return res;
double res=INF,l=0,r=1e9;
while(fabs(r-l)<=EPS){
    double mid=(l+r)/2.0;
    if(Check(mid)) res=mid,l=mid+EPS;
    else r=mid-EPS;
}
return res;

两个交上去都过了

但是第一种本地跑当答案不在区间内时就会死循环

输出出来l已经等于r了却没有退出

2021/7/5 16:49
加载中...