zoukankan      html  css  js  c++  java
  • hdu3714 水三分

    题意:
          给你一些函数 y = ax^2 + bx + c,的a >= 0 的二次函数,x的范围是0--1000,
    问你在这个范围内函数值最大的最小是多少,最大指的是对于某一个x最大的那个y,最小指的是全体的x范围中最大的那个最小..


    思路:

          因为a>=0 所以都是开口向上的,如果话F(n) 的 xy( x<= 0 && x <= 1000),图像肯定是单调或者凹性的,所以直接三分就行了..


    #include<stdio.h>
    #include<math.h>
    
    #define eps 1e-9
    #define N 10000 + 100
    
    typedef struct
    {
       double a ,b ,c;
    }NODE;
    
    NODE node[N];
    
    double F(double x ,int n)
    {
       double ans = -1000000000;
       for(int i = 1 ;i <= n ;i ++)
       {
          double y = node[i].a * x * x + node[i].b * x + node[i].c;
          if(ans < y) ans = y;
       }
       return ans;
    }
    
    double Search3(int n)
    {
       double low ,up ,mid ,mmid;
       low = 0 ,up = 1000;
       double dis1 ,dis2;
       while(1)
       {
          mid = (low + up) / 2;
          mmid = (mid + up) / 2;
          dis1 = F(mid ,n);
          dis2 = F(mmid ,n);
          if(dis1 > dis2) low = mid;
          else up = mmid;
          if(up - low < eps) break;
       }
       return dis1;
    }
    
    int main ()
    {
       int t ,n ,i;
       scanf("%d" ,&t);
       while(t--)
       {
          scanf("%d" ,&n);
          for(i = 1 ;i <= n ;i ++)
          scanf("%lf %lf %lf" ,&node[i].a ,&node[i].b ,&node[i].c);
          printf("%.4lf
    " ,Search3(n));
       }
       return 0;
    }
    

  • 相关阅读:
    SAX方式解析XML文件实例
    DOM方式解析XML文件实例
    国外程序员整理的Java资源
    研发十大站点
    UMA
    [转]Hadoop YARN任务提交流程
    JAVA的内存模型
    2014年总结
    Storm因机器断电等,启动supervisor异常
    Python几个算法实现
  • 原文地址:https://www.cnblogs.com/csnd/p/12063159.html
Copyright © 2011-2022 走看看