首页 > 其他 > 详细

HDU 3714 Error Curves

时间:2017-10-27 00:13:19      阅读:248      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/cangT-Tlan/p/7739725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!