HDU 3714 Error Curves

Posted 一蓑烟雨任生平

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 3714 Error Curves相关的知识,希望对你有一定的参考价值。

Error Curves

思路:这个题的思路和上一个题的思路一样,但是这个题目卡精度,要在计算时,卡到1e-9。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 10100
#define eps 1e-9
using namespace std;
int T,n;
double ans;
double l,r,mid1,mid2;
double a[MAXN],b[MAXN],c[MAXN];
double f(double x){
    ans=-0x7f7f7f7f;
    for(int i=1;i<=n;i++)    ans=max(ans,x*x*a[i]+x*b[i]+c[i]);
    return ans;
}
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%lf%lf%lf",&a[i],&b[i],&c[i]);
        l=0;r=1000;
        while(r-l>eps){
            mid1=(l+r)/2;
            mid2=(mid1+r)/2;
            if(f(mid1)>f(mid2))    l=mid1;
            else r=mid2;
        }    
        printf("%.4lf\\n",f(l));
    }
}

以上是关于HDU 3714 Error Curves的主要内容,如果未能解决你的问题,请参考以下文章

HDU 3714 Error Curves

HDU-3714 Error Curves(凸函数求极值)

[HDOJ3714]Error Curves(三分)

LA5009 Error Curves

UVA - 1476 - Error Curves

hdu3714 三分