#1142 : 三分·三分求极值 ( 三分极值 )

2024-08-30 21:08
文章标签 三分 极值 1142

本文主要是介绍#1142 : 三分·三分求极值 ( 三分极值 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


#1142 : 三分·三分求极值
时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

这一次我们就简单一点了,题目在此:



[week40_1.PNG]
在直角坐标系中有一条抛物线y=ax^2+bx+c和一个点P(x,y),求点P到抛物线的最短距离d。

提示:三分法
输入

第1行:5个整数a,b,c,x,y。前三个数构成抛物线的参数,后两个数x,y表示P点坐标。-200≤a,b,c,x,y≤200
输出

第1行:1个实数d,保留3位小数(四舍五入)
样例输入

2 8 2 -2 6

样例输出

2.437



//三分极值#include<cstdio>
#include<algorithm>
#include<cmath>
//#include<bits/stdc++.h>
using namespace std;
template<class T>inline T read(T&x)
{char c;while((c=getchar())<=32)if(c==EOF)return 0;bool ok=false;if(c=='-')ok=true,c=getchar();for(x=0; c>32; c=getchar())x=x*10+c-'0';if(ok)x=-x;return 1;
}
template<class T> inline T read_(T&x,T&y)
{return read(x)&&read(y);
}
template<class T> inline T read__(T&x,T&y,T&z)
{return read(x)&&read(y)&&read(z);
}
template<class T> inline void write(T x)
{if(x<0)putchar('-'),x=-x;if(x<10)putchar(x+'0');else write(x/10),putchar(x%10+'0');
}
template<class T>inline void writeln(T x)
{write(x);putchar('\n');
}
//-------ZCC IO template------
const int maxn=1000011;
const double inf=999999999;
#define lson (rt<<1),L,M
#define rson (rt<<1|1),M+1,R
#define M ((L+R)>>1)
#define For(i,t,n) for(int i=(t);i<(n);i++)
typedef long long  LL;
typedef double DB;
typedef pair<int,int> P;
#define bug printf("---\n");
#define mod 10007double px,py;
double a,b,c;
double d(double x)
{return sqrt((x-px)*(x-px)+(a*x*x+b*x+c-py)*(a*x*x+b*x+c-py));
}
DB ts(double left,double right)
{DB lm,rm,dis;DB y1=0,y2=0;while(left<=right){dis=(right-left)/3.0;lm=left+dis;rm=lm+dis;y1=d(lm),y2=d(rm);//printf("%lf   %lf\n",left,right);//getchar();if(y1==y2)return y1;else if(y1<y2){right=rm;}else{left=lm;}}return min(y1,y2);
}
//0.421
int main()
{//#ifndef ONLINE_JUDGE// freopen("in.txt","r",stdin);//#endif // ONLINE_JUDGEint n,m,i,j,t;while(~scanf("%lf%lf%lf%lf%lf",&a,&b,&c,&px,&py)){if(d(px)==py)printf("%0.00\n");elseprintf("%.3lf\n",ts(-200,200));}return 0;
}






这篇关于#1142 : 三分·三分求极值 ( 三分极值 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121936

相关文章

Hessian矩阵判定极值之MATLAB实现符号解

By WC 1.9 .2015 1.Hessian矩阵 其定义如下: 如果函数f在D区域内二阶连续可导,那么黑塞矩阵H(f) 在 D 内为对称矩阵。原因是:如果函数f连续,则二阶偏导数的求

【高中数学/极值/判别式法】已知实数a和b,b在(0,1)区间,a-b=1,则1/(a-1)+1/(5-4b)的最小值是?

【问题】 已知实数a,b,b在(0,1)区间,a-b=1,则1/(a-1)+1/(5-4b)的最小值是? 【来源】 《解题卡壳怎么办 高中数学解题智慧点剖析》P34 余继光 苏德矿合著 浙江大学出版社出版 【破题点】 将a-1用b取代,发现结果是二次式相除,正好可用判别式法。 【解答】 由a-b=1得到a-1=b 于是原式=1/b+1/(5-4b) 设b为x,结果为y,得到表达式

[HDU 4855] Goddess (极角排序+三分)

HDU - 4855 借这道题学了下极角排序和三分求凸函数最大值 按所有左右切线,圆心的弧度值排序,从而分割出角度上的若干个区间 射线的角度在这些区间里变动时,每个割线的长度都是凸函数,叠加起来也是凸函数 所以可以对每个区间利用三分法求得最大值,再对这些最大值取 max 即为答案 1) 利用三分法可以求得单峰函数的最大值 2) 利用 atan2(y,x)可以比较方便地求出向量与 x轴正

信息学奥赛初赛天天练-29-CSP-J2022阅读程序-掌握递归、递推、动态规划、二分与极值函数应用

PDF文档公众号回复关键字:20240619 2022 CSP-J 阅读程序2 阅读程序(判断题1.5分 选择题3分 共计40分 ) 01 #include <algorithm>02 #include <iostream>03 #include <limits>04 05 using namespace std;06 07 const int MAXN = 105;08

认识一些分布-关于极值点分布的一些知识

可以参考下面资料: Extreme Value Distribution & the Extreme Value Theory - Statistics How To

二分查找、三分查找求极点、二分求等比数列【模板】

二分查找: int a[110],N;int BinarySearch(int *a,int x){int Left = a[1];int Right = a[N];while(Left <= Right){int mid = (Left+Right)>>1;if(a[mid] == x)return mid;else if(a[mid] > x)Right = mid - 1;elseLe

数学-三分-讲解

原文:http://hi.baidu.com/vfxupdpaipbcpuq/item/81b21d1910ea729c99ce33db        二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以“大显身手”~~        如图,类似二分的定义Left和Right,mid = (Left +

hdu5144 三分

三分裸题,看在第三百题的份上贴一下~ #include <iostream>#include <cstring>#include <cstdio>#include <cmath>using namespace std;const double pi=acos(-1.0);const double g=9.8;double v,h;double ans(double a){doub

【重拾数学知识】导数、极值和最值

前言 在深度学习中,梯度下降法是一种常用的优化算法,用于更新模型参数以最小化损失函数。这梯度下降法中涉及到数学中的导数、极值等相关知识,因此我们重新回顾相关内容,以便加深理解。 相关概念 导数 一个问题 如何求得一个曲线f(x)中任意一点(x0)的斜率? 核心思想:在曲线上另外存在一个P点,P点无限接近x0,x0和P的连线将无限接近x0点的斜率。 在上图中: 我们求x0点和

异常值(极值)检测

最近,上级部门总是安排我们核实修改数据的“极值”,但没有明确极值的范围(或许它们也不懂吧!),非常烦人,所以决定写一篇博客把这个问题讲清楚,顺便写几个方法来方便调用。 方法一 四分位法: 四分位法是一种基于数据分布的异常值检测方法,它主要依赖于数据的四分位数和四分位距(Interquartile Range, IQR)。以下是四分位法检测异常值的详细步骤和原理: 实现代码 import