zoukankan      html  css  js  c++  java
  • 模板:三分法

    十分累所以水一波三分模板

    https://www.luogu.org/problemnew/show/P3382

    其实二分三分做都可以

    接下来是代码

    这是二分的做法

     1 #include<cstdio>
     2 using namespace std;
     3 const double eps=1e-6;
     4 int n;
     5 double a[15], L, R, mid;
     6 inline double f(double x){
     7     double ans=0;
     8     for(int i=n; i>=0; i--) ans=ans*x+a[i];
     9     return ans;
    10 }
    11 int main(){
    12     scanf("%d%lf%lf",&n,&L,&R);
    13     for(int i=n; i>=0; i--) scanf("%lf",&a[i]);
    14     while(R-L>=eps){
    15         mid=(L+R)/2.0;
    16         if(f(mid-eps)>f(mid)) R=mid;
    17         else L=mid;
    18     }
    19     printf("%.5lf
    ",L);
    20     return 0;
    21 }

    接下来是三分

     1 #include<cstdio>
     2 using namespace std;
     3 const double eps=1e-6;
     4 int n;
     5 double a[15], L, R, mid1, mid2, mid;
     6 inline double f(double x){
     7     double ans=0;
     8     for(int i=n; i>=0; i--) ans=ans*x+a[i];
     9     return ans;
    10 }
    11 int main(){
    12     scanf("%d%lf%lf",&n,&L,&R);
    13     for(int i=n; i>=0; i--) scanf("%lf",&a[i]);
    14     while(R-L>=eps){
    15         mid=(R-L)/3.0;
    16         mid1=L+mid;
    17         mid2=R-mid;
    18         if(f(mid1)>f(mid2)) R=mid2;
    19         else L=mid1;
    20     }
    21     printf("%.5lf
    ",L);
    22     return 0;
    23 }
  • 相关阅读:
    学习Python第三天
    学习Python第二天
    学习Python第一天
    centos7 系统优化
    crond计划任务
    day2
    day1
    A.浏览器访问 kube-apiserver 安全端口
    12.清理集群
    11.部署 harbor 私有仓库
  • 原文地址:https://www.cnblogs.com/Aze-qwq/p/9858017.html
Copyright © 2011-2022 走看看