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(三分)的更多相关文章

  1. nyoj 1029/hdu 3714 Error Curves 三分

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714 懂了三分思想和F(x)函数的单调性质,这题也就是水题了 #include "stdio ...

  2. LA 5009 (HDU 3714) Error Curves (三分)

    Error Curves Time Limit:3000MS    Memory Limit:0KB    64bit IO Format:%lld & %llu SubmitStatusPr ...

  3. hdu 3714 Error Curves(三分)

    Error Curves Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tot ...

  4. HDU 3714 Error Curves

    Error Curves 思路:这个题的思路和上一个题的思路一样,但是这个题目卡精度,要在计算时,卡到1e-9. #include<cstdio> #include<cstring& ...

  5. 三分 HDOJ 3714 Error Curves

    题目传送门 /* 三分:凹(凸)函数求极值 */ #include <cstdio> #include <algorithm> #include <cstring> ...

  6. UVA - 1476 Error Curves 三分

                                           Error Curves Josephina is a clever girl and addicted to Machi ...

  7. UVALive 5009 Error Curves 三分

    //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include& ...

  8. Error Curves HDU - 3714

    Josephina is a clever girl and addicted to Machine Learning recently. She pays much attention to a m ...

  9. HDU 3714/UVA1476 Error Curves

    Error Curves Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

随机推荐

  1. (转)TCP三次握手

    原文地址:http://www.cnblogs.com/rootq/articles/1377355.html TCP(Transmission Control Protocol) 传输控制协议 TC ...

  2. Linux 命令 - df: 报告磁盘空间的占用情况

    df 命令列出指定的文件名所在的文件系统上可用磁盘空间的数量. 如果没有指定文件名,则显示当前所有使用中的文件系统.默认情况下,磁盘空间以 1K 为一块显示,如果设置了环境变量 POSIXLY_COR ...

  3. AjaxForm

    近乎的Ajax控件介绍,代码下载:http://www.jinhusns.com/Products/Download?type=whp AjaxForm 概述 功能说明 基于 ajaxForm 插件进 ...

  4. Android Studio 快捷方式

    Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如g ...

  5. AIDL简单使用

    1.AIDL定义 AIDL是android interface definition language的缩写,它对android IPC组件Binder进行了封装.使用它不需理会底层IPC的实现,只需 ...

  6. batch 数字进制的问题

    when set viable to number type in cmdexample: set /a num=0833echo %num% display: Invalid number.  Nu ...

  7. 理解CPU内存管理

    概述:从设计层面理解CPU的内存模式,包括段式内存管理.页式内存管理以及虚拟化扩展内存管理.实际上,硬件支持与软件实现从来就不是能分开讲的,比如,Intel CPU架构师在选择CPU的硬件特性时,必然 ...

  8. Linux 命令行技巧

    这是一个linux常见命令的列表.那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝.所有的命令已在Fedora和Ubuntu下做了测试 命令 ...

  9. asp.net 文件上传示例整理

    ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录.  代码如下 复制代码 ...

  10. 第三十三篇、富文本 NSMutableAttributedString

    // 设置颜色等 NSMutableDictionary *arrDic = [NSMutableDictionary dictionary]; arrDic[NSForegroundColorAtt ...