为啥有个点过不去啊,求大佬帮助P1883 三分模版
  • 板块学术版
  • 楼主Wyr_666
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/5 20:03
  • 上次更新2024/4/5 21:32:53
查看原帖
为啥有个点过不去啊,求大佬帮助P1883 三分模版
778801
Wyr_666楼主2024/4/5 20:03

#include<bits/stdc++.h>

using namespace std; ~~```cpp

~~
int T;
int n;
const int N = 1e5+10;
const double S = 1e-9;
int a[N],b[N],c[N];
double l,r,mid1,mid2;
double s(double x){
double m = 0;
for(int i = 1;i<=n;i++){
m = max(m,a[i]*x*x+b[i]*x+c[i]);
} 
return m; 
}
int main(){
// freopen("a.in", "r", stdin);
// freopen("a.out", "w", stdout);
    cin>>T;
    while(T--){
cin>>n;
for(int i = 1;i<=n;i++){
cin>>a[i]>>b[i]>>c[i];
}
l = 0.0,r = 1000.0;
while(r-l>S){
mid1 = (l*2+r)/3;
mid2 = (l+r*2)/3;
if(s(mid1)>s(mid2)){
l = mid1;
}else r = mid2;
}printf("%.4lf\n",s(l));
}

// fclose(stdin);
// fclose(stdout);
    return 0;
}
2024/4/5 20:03
加载中...