UVA 1476 Error Curves
来源:互联网 发布:log4j保存到数据库 编辑:程序博客网 时间:2024/06/07 14:56
题意:二次函数S=ax^2+bx+c,给出a、b、c,F(x)=max(Si)求在[0,1000]范围内的F(x)的最小值
解题思路:三分搜索.二分搜索适用于单调函数,所以这种不单调的函数要用三分
代码:
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>using namespace std;const int maxn=10000+5;const double EPS=1e-10;int n;int 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 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; while(r-l>=EPS) { double mid=l+(r-l)/3; double mmid=r-(r-l)/3; if(f(mid)<f(mmid))r=mmid; else l=mid; } printf("%.4f\n",f(l)); } return 0;}
阅读全文
0 0
- UVa 1476 - Error Curves
- UVA 1476 Error Curves
- UVA 1476 - Error Curves(三分法)
- uva 1476 - Error Curves(三分)
- uva-1476 Error Curves 三分
- Uva - 1476 - Error Curves(三分)
- UVA - 1476 Error Curves (三分搜索)
- uva 1476 Error Curves(三分)
- Error Curves UVA
- UVA 1476/HDU 3714/ZOJ 3421 Error Curves 三分法
- Error Curves
- Error Curves
- Error Curves
- hdu 3714 Error Curves
- HDU 3714 Error Curves
- hdu 3714 Error Curves
- hdu 3714 Error Curves
- HDU Error Curves
- 线程
- 学习笔记
- 索引结构--整体
- AIDL的使用
- HashMap和HashTable以及HashSet
- UVA 1476 Error Curves
- js转换成会计字符并逗号隔开保留两位小数,整数后面加.00
- 创建线程的方法
- tensorflow 迁移学习(在已有类别的模型上添加自己的类别)
- react Redux思路
- iOS唯一标示符引导
- 聚类系列
- 【LeetCode】Intersection of Two Linked Lists 解题报告
- Q138:PBRT-V3,伪随机数发生器(pseudo-random number generator,RNG)(A.1.2章节)