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 ...
随机推荐
- Intel HEX文件解析
近期有一个需求就是为Arduino开发板做一个基于蓝牙的无线烧录程序.眼下的Arduino程序都是通过USB线连接到电脑的主机上,实际的传输过程是基于USB协议的,这个过程还是比較麻烦的.由于每次的编 ...
- PHP中的多行字符串传递给JavaScript方法两则
PHP和JavaScript都是初学.近期有这么个需求: 例如说有一个PHP的多行字符串: $a = <<<EOF thy38 csdn blog EOF; 传递给JavaScrip ...
- cs6 mac 破解方法
Photoshop CS6 重点功能: 1.Photoshop CS6 包含Photoshop CS6和Photoshop CS6 Extended中所有功能,快去试一试3D图像编辑和Photosho ...
- PCH in Xcode 6
本文转载至 http://blog.csdn.net/wbdwsqwwn/article/details/40476151 新建文件 ⌘+N 选择 iOS/Mac -> Other -> ...
- jQuery.ajaxSetup()
jQuery.ajaxSetup()函数用于设置AJAX的全局默认设置. 该函数用于更改jQuery中AJAX请求的默认设置选项.之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的 ...
- HTML 客户端存储
在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前, ...
- MFC中CAsyncSocket和CSocket
原文链接:https://blog.csdn.net/libaineu2004/article/details/40395917 摘要部分重点: 1.CAsyncSocket类逐个封装了WinSock ...
- XMU C语言程序设计实践(4)
以下实验二选一. 1.使用队列实现迷宫算法,找到最短路径. 2.实现顺序队列和链队列的所有基本操作,InitQueue(&Q):DestroyQueue(&Q):ClearQueue( ...
- Codeforces Round #352 (Div. 2) C. Recycling Bottles
C. Recycling Bottles time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- YTU 2802: 判断字符串是否为回文
2802: 判断字符串是否为回文 时间限制: 1 Sec 内存限制: 128 MB 提交: 348 解决: 246 题目描述 编写程序,判断输入的一个字符串是否为回文.若是则输出"Yes ...