标签:
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