1. 程式人生 > >HDU 3714 Error Curves

HDU 3714 Error Curves

n) string ror mage font ostream .net ring ron

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