hdu 3714 Error Curves(三分)
http://acm.hdu.edu.cn/showproblem.php?pid=3714
【题意】:
题目意思看了很久很久,简单地说就是给你n个二次函数,定义域为[0,1000], 求x在定义域中每个x所在的n个函数的最大值的最小值。很拗口吧,显然这题不是组队或者耐心的做是不知道性质的,至少我没看出来。网上说是三分,我画了几个图,确实是。根据二次函数的性质,增长的快慢已经确定了,那的确是单峰的。那就OK了。另外eps的问题1e-8还是wa,1e-9AC。想了下,因为有系数a,b,c的缘故,一乘就WA了。代码就是三分了,没什么特殊的。(三分,什么时候我能主动的看出你???)
【题解】:
第二个三分,三分啊三分,很难自己看出来啊!!!
【code】:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h> using namespace std; #define eps 1e-9
#define INF 1e15 struct Nod
{
double a,b,c;
}node[]; int n; double func(double a,double b,double c,double x)
{
return a*x*x+b*x+c;
} double getMins(double x)
{
int i;
double maks = -INF;
for(i=;i<n;i++)
{
double temp = func(node[i].a,node[i].b,node[i].c,x);
if(maks<temp)
{
maks = temp;
}
}
return maks;
} void sanfen()
{
double l=,r=,mid,ans = INF;
while(l<=r)
{
mid = (l+r)/;
double temp1 = getMins(mid);
double temp2 = getMins(mid-eps);
if(temp1<temp2)
{
l = mid + eps;
}
else
{
r = mid - eps;
}
if(ans>temp1)
{
ans=temp1;
}
}
printf("%.4lf\n",ans);
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int i;
for(i=;i<n;i++)
{
scanf("%lf%lf%lf",&node[i].a,&node[i].b,&node[i].c);
}
sanfen();
}
return ;
}
hdu 3714 Error Curves(三分)的更多相关文章
- nyoj 1029/hdu 3714 Error Curves 三分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714 懂了三分思想和F(x)函数的单调性质,这题也就是水题了 #include "stdio ...
- LA 5009 (HDU 3714) Error Curves (三分)
Error Curves Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu SubmitStatusPr ...
- hdu 3714 Error Curves(三分)
Error Curves Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
- HDU 3714 Error Curves
Error Curves 思路:这个题的思路和上一个题的思路一样,但是这个题目卡精度,要在计算时,卡到1e-9. #include<cstdio> #include<cstring& ...
- 三分 HDOJ 3714 Error Curves
题目传送门 /* 三分:凹(凸)函数求极值 */ #include <cstdio> #include <algorithm> #include <cstring> ...
- UVA - 1476 Error Curves 三分
Error Curves Josephina is a clever girl and addicted to Machi ...
- UVALive 5009 Error Curves 三分
//#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include& ...
- Error Curves HDU - 3714
Josephina is a clever girl and addicted to Machine Learning recently. She pays much attention to a m ...
- HDU 3714/UVA1476 Error Curves
Error Curves Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
随机推荐
- (转)TCP三次握手
原文地址:http://www.cnblogs.com/rootq/articles/1377355.html TCP(Transmission Control Protocol) 传输控制协议 TC ...
- Linux 命令 - df: 报告磁盘空间的占用情况
df 命令列出指定的文件名所在的文件系统上可用磁盘空间的数量. 如果没有指定文件名,则显示当前所有使用中的文件系统.默认情况下,磁盘空间以 1K 为一块显示,如果设置了环境变量 POSIXLY_COR ...
- AjaxForm
近乎的Ajax控件介绍,代码下载:http://www.jinhusns.com/Products/Download?type=whp AjaxForm 概述 功能说明 基于 ajaxForm 插件进 ...
- Android Studio 快捷方式
Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如g ...
- AIDL简单使用
1.AIDL定义 AIDL是android interface definition language的缩写,它对android IPC组件Binder进行了封装.使用它不需理会底层IPC的实现,只需 ...
- batch 数字进制的问题
when set viable to number type in cmdexample: set /a num=0833echo %num% display: Invalid number. Nu ...
- 理解CPU内存管理
概述:从设计层面理解CPU的内存模式,包括段式内存管理.页式内存管理以及虚拟化扩展内存管理.实际上,硬件支持与软件实现从来就不是能分开讲的,比如,Intel CPU架构师在选择CPU的硬件特性时,必然 ...
- Linux 命令行技巧
这是一个linux常见命令的列表.那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝.所有的命令已在Fedora和Ubuntu下做了测试 命令 ...
- asp.net 文件上传示例整理
ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. 代码如下 复制代码 ...
- 第三十三篇、富文本 NSMutableAttributedString
// 设置颜色等 NSMutableDictionary *arrDic = [NSMutableDictionary dictionary]; arrDic[NSForegroundColorAtt ...