LA 5009 三分

来源:互联网 发布:linux stopped 编辑:程序博客网 时间:2024/05/26 20:19
#include <cstdio>#include <algorithm>using namespace std;const int maxn = 10000 + 10;int n, a[maxn], b[maxn], c[maxn];double F(double x){double ans = a[0] * x * x + b[0] * x + c[0];for (int i = 1; i < n; i++)ans = max(ans, a[i] * x * x + b[i] * x + c[i]);return ans;}int main(int argc, char const *argv[]){int T;scanf("%d", &T);while (T--){scanf("%d", &n);for (int i = 0; i < n; i++)scanf("%d%d%d", a + i, b + i, c + i);double L = 0.0, R = 1000.0;for (int i = 0; i < 100; i++){double m1 = L + (R - L) / 3;double m2 = R - (R - L) / 3;if (F(m1) < F(m2)) R = m2;else L = m1;}printf("%.4lf\n", F(L));}return 0;}



单峰函数使用三分来求值

0 0
原创粉丝点击