社区讨论
关于二分
学术版参与者 5已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @loc7jj7y
- 此快照首次捕获于
- 2023/10/30 09:14 2 年前
- 此快照最后确认于
- 2023/11/04 18:36 2 年前
请问这两个二分有什么区别吗
EPS=1e-8
Cdouble 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;
Cdouble 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了却没有退出
回复
共 6 条回复,欢迎继续交流。
正在加载回复...