题目链接:HDU-3714

题目描述:
对于N个二次函数,求每个二次函数的最小值中的最大值
思路:
使用三分法求极值(递归调用)
对于这种在指定区间里只有一个极值点的函数(凸函数凹函数都可以),我们可以使用三分法求极值

三分极值法的思想:对于区间[l,r],令m=(l+r)/2即中点,再令mm=(m+r)/2,即右半段的中点。这样l,m,mm,r四个点就把区间分成了三份。

此时若m更靠近极值点,则令r=mm。否则令l=m;这样就把区间缩小了。
对于用float类型表示的连续函数,可以设定一个迭代次数size,例如可以取size=100。当运行了100次之后差不多就能取到极值点了

//题目:HDU 3714
//时间:2021/9/30
//作者:lfs
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<vector>
using namespace std;const double eps=1e-9;
const double MIN=0;
const double MAX=1000;
double p[10000+10][3];
int n;double Calc(double a)
{double ans=-1e20;for(int i=0;i<n;i++){ans=max(ans,a*a*p[i][0]+a*p[i][1]+p[i][2]);}return ans;
}
double 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;mid_value = Calc(mid);midmid_value = Calc(midmid);if (mid_value <= midmid_value) Right= midmid;else Left = mid;}return midmid_value;
}
int main()
{// freopen("in.txt","r",stdin);int T;scanf("%d",&T);vector<double> vec;while(T--){scanf("%d",&n);for(int i=0;i<n;i++)scanf("%lf %lf %lf",&p[i][0],&p[i][1],&p[i][2]);vec.push_back(Solve());}for(auto i:vec){printf("%.4lf\n",i);}return 0;
}

算法题目——二次函数三分求极值(HDU-3714)相关推荐

  1. hihoCoder #1142 : 三分求极值

    #1142 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: 在直角坐标系中有一条抛物线y=ax^2+bx+c和一 ...

  2. 【HDU - 3714 】Error Curves (三分)

    题干: Josephina is a clever girl and addicted to Machine Learning recently. She  pays much attention t ...

  3. 0x04.基本算法 — 二分和三分

    目录 一.二分 0.二分法 1.整数域上的二分 2.实数域上的二分 二.三分 0.三分求单峰函数极值 1.P3382 [模板]三分法(秦九韶求多项式+三分) 三.二分答案转化为判定 0.经典例子 1. ...

  4. python多元函数求解_一元和多元函数求极值(Python)-牛顿法

    1. 引言 我们在中学的时候学过一元二次函数,求解时引入一个求根公式,代入公式就可以得到不同的根,假如想计算一个高次方程的解,我们还能推导出求根公式吗? 伽罗瓦在群论中证实,五次及以上多项式方程没有显 ...

  5. PTA数据结构与算法题目集6-4 6-3 6-8

    PTA数据结构与算法题目集(中文) 6-4 链式表的按序号查找 ElementType FindKth( List L, int K ){int index = 0;while(L){++index; ...

  6. leetcode的回溯算法题目用这个模板解题,一网打尽,so easy!!!

    " 这是本人第 46 篇原创博文,每周至少两篇更新,谢谢赏脸阅读文章 这一篇文章来讲解一下如何做leetcode回溯算法题目,这一段时间我把leetcode上面的回溯算法的题目都刷了个遍,发 ...

  7. PTA 数据结构与算法题目集(中文)

    一:数据结构与算法题目(中文版) 7-2 一元多项式的乘法与加法运算 (20 分) 7-3 树的同构 (25 分) 7-4 是否同一棵二叉搜索树 (25 分) 7-6 列出连通集 (25 分)(详解) ...

  8. 算法训练 6-1 递归求二项式系数值

    算法训练 6-1 递归求二项式系数值   问题描述 样例输入 一个满足题目要求的输入范例. 3 10 样例输出 与上面的样例输入对应的输出. 数据规模和约定 输入数据中每一个数的范围. 例:结果在in ...

  9. HihoCoder上网络流算法题目建模总结

    经过了几天的学习和做题,我利用刘汝佳书上的网络流算法模板完成了HihoCoder上的几个网络流算法,HihoCoder可能还会继续更新网络流算法,所以我也会接着总结. 这个主要是对网络流算法的建模做分 ...

最新文章

  1. iOS视频流采集概述(AVCaptureSession)
  2. php扩展模块安装-lamp
  3. 为何互联网大厂热衷于春节撒红包?谁才是最大赢家?
  4. 从物理到虚拟一次真实的迁移
  5. centos7怎么重置mysql密码_centOS7.4 重置mysql 密码
  6. TTL_CMOS_RS232区别
  7. Java语法教程-Java开发环境安装JDK
  8. AirPrint: 无交互的后台打印实现(Print without UI,iOS8+)
  9. tomcat如何通过配置的方式部署web工程
  10. java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...
  11. [css] 在固定宽度的div下,怎么让字体自适应大小,不超出宽度,也不要换行
  12. 【Oracle】使用logmnr工具挖掘日志
  13. Hive External Table of Doris(详细)
  14. Gigapixel AI 6.0 for Mac(图片无损放大软件)
  15. Java基础语法结构
  16. 三种百度网盘加速器,轻松突破10M/S,总有一款适合你!
  17. 2021-10-07 浊音,清音,爆破音频谱分析
  18. 【其实是空空荡荡的牵挂,没有结局的怀念】
  19. opencv两张图片叠加显示
  20. win10计算机性能选项在哪,Win10性能大提升,这些设置让你的电脑直接起飞

热门文章

  1. .NET Core 工具中的新内容
  2. 如何在 ASP.NET MVC 中集成 AngularJS(2)
  3. Windows 10中国定制版完工!更专业
  4. oracle 注册程序,oracle 静态注册
  5. Java 比较两个版本号的大小 (通用)
  6. 【Envi风暴】ENVI中求两幅遥感影像的相关性(相关系数)
  7. 一秒点击屏幕次数测试_安卓App性能专项测试流畅度深度解析
  8. hutol json null值没了_JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法...
  9. 命令注入_命令注入绕过方式总结
  10. python为text添加滚动条_在Tkinter中向一组小部件添加滚动条