博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdoj3714【三分】
阅读量:4932 次
发布时间:2019-06-11

本文共 1155 字,大约阅读时间需要 3 分钟。

手动插姿势:

三分法可以应用于凸函数或者凹函数的求极值。
三分讲解:
三分模板:

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 
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
temp1) ans=temp1; } printf("%.4lf\n",ans);}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=0;i

转载于:https://www.cnblogs.com/keyboarder-zsq/p/5934805.html

你可能感兴趣的文章
.Net Core Identity外面使用Cookie中间件
查看>>
【坐在马桶上看算法】算法1:最快最简单的排序——桶排序
查看>>
C#中泛型之Dictionary
查看>>
强连通分量
查看>>
Linux 入门 bash语句 第三课
查看>>
LeetCode 27. 移除元素
查看>>
【原创】phpcms v9 0day
查看>>
杂谈SharpDx中的WIC组件——我们需要WIC的图片编码功能么?
查看>>
移动端弹性盒
查看>>
觉得比较重要的一张触发器的图,高手跳过哈!
查看>>
JAVA中使用jcifs集成AD域用户认证
查看>>
SSH框架 jar包版本的选择
查看>>
1699. Turning Turtles
查看>>
1048. Find Coins (25)
查看>>
(八十六)使用系统自带的分享框架Social.framework
查看>>
C# 使用IP端口网络打印图片
查看>>
OSI与TCP/IP你了解多少?
查看>>
压缩解压缩相关基础知识
查看>>
javaweb之MVC设计模式
查看>>
[APIO2015]巴厘岛的雕塑
查看>>