HihoCoder 1142-三分求极值(三分模板)

Posted yzhhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HihoCoder 1142-三分求极值(三分模板)相关的知识,希望对你有一定的参考价值。

描述

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

技术分享图片

在直角坐标系中有一条抛物线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

思路:三分裸题。注意一下变量类型。


 1 #include<cstdio>
 2 #include<cmath>
 3 using namespace std;
 4 int a,b,c,x_0,y_0;
 5 
 6 double f(double x){
 7     return a*x*x+b*x+c;
 8 }
 9 double disc(double x){
10     return sqrt((x-x_0)*(x-x_0)+(f(x)-y_0)*(f(x)-y_0));
11 }
12 
13 int main(){
14     int x,y,dis;
15     double lm,rm,temp;
16     double l=-100000,r=100000;
17     scanf("%d%d%d%d%d",&a,&b,&c,&x_0,&y_0);
18     while(r-l>=0.001){
19         temp=(r-l)/3.0;
20         lm=l+temp;
21         rm=r-temp;
22         if(disc(lm)>disc(rm)) l=lm;
23           else r=rm;        
24     }
25     
26       printf("%.3f
",disc(l));
27           
28     return 0;
29 } 

 

以上是关于HihoCoder 1142-三分求极值(三分模板)的主要内容,如果未能解决你的问题,请参考以下文章

hihoCoder #1142 : 三分·三分求极值

hihoCoder #1142 : 三分求极值

HIHOCODER 1142 三分·三分求极值

P3382|三分法模板

计算几何+三分求极值——cf1046I

三分法搜索