首页 > 其他 > 详细

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

时间:2018-08-07 19:58:27      阅读:116      评论:0      收藏:0      [点我收藏+]

链接:http://hihocoder.com/problemset/problem/1142

 

思路:

三分模板题

实现代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int M = 1e5 + 10;
#define eps 1e-8
int a,b,c,x,y;
double getsum(double x1){  //获取y的值
    return a*x1*x1+b*x1+c;
}

double getdis(double k){   //当前点离p点的距离
    return (k-x)*(k-x)+(getsum(k)-y)*(getsum(k)-y);
}

void Three_search(){
    double l = -200, r = 200;
    while(l + eps < r){
        double m1 = l+(r-l)/3;
        double m2 = r-(r-l)/3;
        if(getdis(m1) < getdis(m2))
            r = m2;
        else
            l = m1;
    }
    double ans = getdis(l);
    ans = sqrt(ans);
    printf("%.3lf\n",ans);
}

int main()
{
    cin>>a>>b>>c>>x>>y;
    Three_search();
}

 

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

原文:https://www.cnblogs.com/kls123/p/9438805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!