HDOJ Error Curves 计算几何
来源:互联网 发布:和越南人聊天软件 编辑:程序博客网 时间:2024/05/17 01:24
题意:在给定的n个抛物线中,求 min(F(x)), F(x) = max(S(x)).
思路:由于给定的抛物线都是开口向上的(0 ≤ a ≤ 100)F(x)也是开口向上的类抛物线,具有单峰值,利用三分求解 。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;#define eps 1e-10const int MAX = 10009;struct para { int a, b, c;};para p[MAX];int n;double getmax(double x) { double ans, tmp; ans = p[0].a*x*x + p[0].b*x + p[0].c; int i; for (i = 1; i < n; ++i) { tmp = p[i].a*x*x + p[i].b*x + p[i].c; if (ans < tmp) ans = tmp; } return ans;}int main(){ int t; double l, r, mid1, mid2, max1, max2; scanf("%d",&t); while (t--) { scanf("%d", &n); int i; for (i = 0; i < n; ++i) scanf("%d %d %d", &p[i].a, &p[i].b, &p[i].c); l = 0.0; r = 1000.0; while (fabs(r-l) > eps) { mid1 = (l+r)/2; mid2 = (l+mid1)/2; max1 = getmax(mid1); max2 = getmax(mid2); if (max1 > max2) r = mid1; else l = mid2; } printf("%.4lf\n", max1); } return 0;}
- HDOJ Error Curves 计算几何
- [三分]HDOJ 3714Error Curves
- HDOJ 3714 Error Curves 三分搜索
- 计算几何-hdoj-1086
- Error Curves
- Error Curves
- Error Curves
- HDU/HDOJ 3714 Error Curves 2010年成都赛区
- hdoj 4946 计算几何求凸包
- 【计算几何】 HDOJ 4998 Rotate
- 【计算几何】 HDOJ 5017 Ellipsoid
- hdu 3714 Error Curves
- HDU 3714 Error Curves
- hdu 3714 Error Curves
- hdu 3714 Error Curves
- HDU Error Curves
- 【三分】Error Curves
- HDU 3714 Error Curves.
- Sizeof与Strlen的区别
- Android getResources的作用和需要注意点
- Oracle kill sessin 说明
- 裸设备
- java文件读写操作实例
- HDOJ Error Curves 计算几何
- 画图
- oracle 正则表达式 2 包括下划线的处理
- 编程之美--编程判断两个链表是否相交
- Android进阶2之有道词典开发
- 极品冷幽默,搞笑没得说
- 显示各位小数
- 解析sharepoint地址中的相关属性(ContentTypeID )
- android中自定义checkbox大小和图片