HDU3714 Error Curves(2010 Asia Chengdu Regional Contest)
2014-08-24 14:27
302 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714
题意:给定开口向上的二次函数n个f[i] (0<i<n) 定义F(x)=max(si(x)); si(x)表示对于f[i] 当未知数取值x的时候对应的函数值
求F(x) (1<=x<=1000)的最小值
因为f(x)是一个下凸函数所以F(x)也是一个下凸函数,用三分来求最优解,此题精度卡的比较死。
代码如下:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int maxn = 10010;
const double eps= 1e-9;
int a[maxn],b[maxn],c[maxn],n;
double calu(double x){
double ans = a[0]*x*x+b[0]*x+c[0];
for(int i=1;i<n;i++){
double t=a[i]*x*x+b[i]*x+c[i];
if(t>ans) ans=t;
}
return ans;
}
double there_search()
{
double l=0.0,r=1000.0;
double ll,rr;
while(l+eps<r){
ll=(2*l+r)/3;
rr=(2*r+l)/3;
if(calu(ll)>calu(rr))
l=ll;
else
r=rr;
}
return l;
}
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 ans=there_search();
printf("%.4lf\n",calu(ans));
}
return 0;
}
题意:给定开口向上的二次函数n个f[i] (0<i<n) 定义F(x)=max(si(x)); si(x)表示对于f[i] 当未知数取值x的时候对应的函数值
求F(x) (1<=x<=1000)的最小值
因为f(x)是一个下凸函数所以F(x)也是一个下凸函数,用三分来求最优解,此题精度卡的比较死。
代码如下:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int maxn = 10010;
const double eps= 1e-9;
int a[maxn],b[maxn],c[maxn],n;
double calu(double x){
double ans = a[0]*x*x+b[0]*x+c[0];
for(int i=1;i<n;i++){
double t=a[i]*x*x+b[i]*x+c[i];
if(t>ans) ans=t;
}
return ans;
}
double there_search()
{
double l=0.0,r=1000.0;
double ll,rr;
while(l+eps<r){
ll=(2*l+r)/3;
rr=(2*r+l)/3;
if(calu(ll)>calu(rr))
l=ll;
else
r=rr;
}
return l;
}
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 ans=there_search();
printf("%.4lf\n",calu(ans));
}
return 0;
}
相关文章推荐
- hdu3652 - B-number(2010 Asia Regional Chengdu Site —— Online Contest )数位dp
- 2010 Asia Chengdu Regional Contest 位运算
- The 2010 ACM-ICPC Asia Chengdu Regional Contest
- HDU3718/ZOJ3425 Similarity(The 2010 ACM-ICPC Asia Chengdu Regional Contest,加权二分图的最优匹配)
- hdu3709 - Balanced Number(2010 Asia Chengdu Regional Contest)数位dp
- 2-SAT——2.0(hdu3715 Go Deeper,The 2010 ACM-ICPC Asia Chengdu Regional Contest)
- HDU3718ZOJ3425 Similarity(The 2010 ACM-ICPC Asia Chengdu Regional Contest,加权二分图的最优匹配)
- zoj 3418 || The 2010 ACM-ICPC Asia Chengdu Regional Contest - C Binary Number
- 2011 Asia ChengDu Regional Contest
- hdu 4781 Assignment For Princess && 2013 Asia Chengdu Regional Contest && YY
- 2010 Asia Hangzhou/Fuzhou Regional Contest
- HDU 4468 Spy(KMP+贪心)(2012 Asia Chengdu Regional Contest)
- The 37th ACM/ICPC Asia Regional ChengDu Site Online Contest - B Control
- hdu4788 水题 Hard Disk Drive (2013 Asia Chengdu Regional Contest problem H)
- 【转】The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest 出题报告
- HDU 4031 Attack(离线+线段树)(The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest)
- 2013 Asia Chengdu Regional Contest
- HDU 3726 Graph and Queries(平衡二叉树)(2010 Asia Tianjin Regional Contest)
- HDU 3696 Farm Game(拓扑+DP)(2010 Asia Fuzhou Regional Contest)
- HDU 3698 Let the light guide us(DP+线段树)(2010 Asia Fuzhou Regional Contest)