标签:
Input
Output
Sample Input
Sample Output
/*
三分适用于抛物线类型的,先增后减或者先减后增
精度问题。。
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const double eps = 1e-15;
const int MAX = 1e4 + 10;
int a[MAX], b[MAX], c[MAX];
int n;
double check(double x)
{
double max1 = a[1]*x*x + b[1]*x + c[1];
for(int i = 2; i <= n ; i++)
max1 = max(max1, a[i]*x*x + b[i]*x + c[i]);
return max1;
}
int main()
{
int T;
scanf("%d", &T);
while(T--){
scanf("%d", &n);
for(int i = 1; i <= n ; i++){
scanf("%d%d%d", &a[i], &b[i], &c[i]);
}
double l = 0, r = 1000;
while(l + eps < r){
double mid = (l + r) / 2;
double midmid = (mid + r) /2 ;
if(check(mid) > check(midmid)){
l = mid;
}
else r = midmid;
}
printf("%.4f\n",check(r));
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/zero-begin/p/4694158.html