hdoj3714【三分】
手动插姿势: 
三分法可以应用于凸函数或者凹函数的求极值。 
三分讲解:http://blog.csdn.net/pi9nc/article/details/9666627 
三分模板:http://www.cnblogs.com/Hilda/archive/2013/03/02/2939708.html
double cal(Type a)
{
    /* 根据题目的意思计算 */
}
void solve()
{
    double Left, Right;
    double mid, midmid;
    double mid_value, midmid_value;
    Left = MIN; Right = MAX;
    while (Left + EPS <= Right)
    {
        mid = (Left + Right) / 2;
        midmid = (mid + Right) / 2;
        if (cal(mid)>=cal(midmid)) 
            Right = midmid;
        else Left = mid;
    }
}
更多相关题:
HDU :3400  2298  4454  2438  3756
POJ: 3301 3737
ZOJ: 3203题意: 
给n个二次函数,定义域为[0,1000], 求x在定义域中每个x所在的n个函数的最大值的最小值。 
思路: 
其实说N个函数的话,定义域也确定了,要么是单调增,要么是单调减,要么就是凹性,因为a>=0的,三分一下,每次找位置的最大,然后取最小就好了。。。
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e4;
const double eps=1e-9;
const double INF=1e15;
struct asd{
    double a,b,c;
};
asd q[N];
int n;
double fx(double a,double b,double c,double x)
{
    return a*x*x+b*x+c;
}
double getmin(double x)
{
    double temp;
    double ans=-INF;
    for(int i=0;i<n;i++)
    {
        temp=fx(q[i].a,q[i].b,q[i].c,x);
        if(ans<temp)
            ans=temp;
    }
    return ans;
}
void sanfen()
{
    double ans=INF;
    double Left, Right;
    double mid;
    double temp1,temp2;
    Left = 0; Right = 1000;
    while (Left<=Right)
    {
        mid=(Left+Right)/2;
        temp1=getmin(mid);
        temp2=getmin(mid-eps);
        if(temp1<temp2)
            Left=mid+eps;
        else
            Right=mid-eps;
        if(ans>temp1)
            ans=temp1;
    }
    printf("%.4lf\n",ans);
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<n;i++)
            scanf("%lf%lf%lf",&q[i].a,&q[i].b,&q[i].c);
        sanfen();
    }
    return 0;
}hdoj3714【三分】的更多相关文章
- [HDOJ3714]Error Curves(三分)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714 题意:求n个二次函数在[0,1000]的最小值. 三分枚举. #include <bits ... 
- hdu3714 三分找最值
		Error Curves Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ... 
- BZOJ 1857 传送带 (三分套三分)
		在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxhgww想从 ... 
- hdu 4717(三分求极值)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 思路:三分时间求极小值. #include <iostream> #include ... 
- HDU2438 数学+三分
		Turn the corner Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ... 
- 三分之一的程序猿之社交类app踩过的那些坑
		三分之一的程序猿之社交类app踩过的那些坑 万众创新,全民创业.哪怕去年陌生人社交不管融资与否都倒闭了不知道多少家,但是依然有很多陌生人社交应用层出不穷的冒出来.各种脑洞大开,让人拍案叫起. 下面我们 ... 
- 基于jPlayer的三分屏制作
		三分屏,这里的三分屏只是在一个播放器里同时播放三个视频,但是要求只有一个控制面板同时控制它们,要求它们共享一个时间轨道.这次只是简单的模拟了一下功能,并没有深入的研究. 首先,需要下载jPlayer, ... 
- 【BZOJ-1857】传送带      三分套三分
		1857: [Scoi2010]传送带 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1077 Solved: 575[Submit][Status][ ... 
- ACM : HDU 2899 Strange fuction 解题报告 -二分、三分
		Strange fuction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ... 
随机推荐
- leetCode 65.Valid Number (有效数字)
			Valid Number Validate if a given string is numeric. Some examples: "0" => true " ... 
- SD卡读写之FileNotFoundException: /storage/emulated/0object.txt: open failed: ENOENT (No such file or dir
			读写sd卡中的文件依照例如以下步骤:1调用Environment的getExternalStorageState()方法推断手机上是否插入了sd卡.而且应用程序具有读写SD卡的能力 //假设手机已经插 ... 
- linux下查看网卡信息的命令
			rhel 内核版本号信息: [root@hvrhub ~]# uname -a Linux hvrhub 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2 ... 
- mmall 项目实战(一)项目初始化
			1.创建 数据库 及 表 数据脚本: /* Navicat Premium Data Transfer Source Server : 182.92.82.103 Source Server Type ... 
- HDU  5289  Assignment(多校联合第一场1002)
			Assignment Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ... 
- Json实现异步请求(提交评论)
			主要将代码粘贴,通过阅读代码理解当中的相关逻辑. html代码: <form id="form1" runat="server"> <p> ... 
- Node.js 爬虫批量下载美剧 from 人人影视 HR-HDTV
			这两天发现了一个叫看知乎的站点.是知乎的苏莉安做的,当中爬虫使用的 Node.js.这里就针对上一篇博客中的美剧小爬虫,改用 nodejs 进行实现一下.体验一下强大的 Node.js. 假设之前没实 ... 
- 模式识别之聚类算法k-均值---k-均值聚类算法c实现
			//写个简单的先练习一下,测试通过 //k-均值聚类算法C语言版 #include <stdlib.h> #include <stdio.h> #inc ... 
- oracle的shared、dedicated模式解析
			主要參考文档:http://www.itpub.net/thread-1714191-1-1.html Oracleh有两种server模式shared mode和dedicated mode. De ... 
- 命令行下Android应用开发
			本文介绍怎样创建你的第一个Android应用程序.您将学到怎样创建一个Androidproject和执行可调试版本号的应用程序. 開始本文学习之前.确保你已经安装了开发环境.你须要: 1.下载Andr ... 
