zoukankan      html  css  js  c++  java
  • hdu5105给你一个方程,让你求极值(直接暴力)

    题意:
          给你一个方程f[x] = abss(a * x * x * x + b * x * x + c * x + d);
    然后给你各个参数还有x(-100<x<100)的取值范围,然后让你求极大值。


    思路:
         一开始上来就来了个三分,结果一直wa,其实这个函数可以直接求导,用高中知识得到最值,关键是忘记怎么求了,其实还有一个更猥琐的方法,那就是直接暴力,题目要求是保留两位小数就行,而且x的范围不是很大,所以我们直接暴力x每次增加eps,我的eps=0.0001AC了,没试过再小点行不行,还有就是注意一点,最后别忘了算一下右边界,因为暴力的时候有可能错过右边界,这个地方没注意,WA了一次。




    #include<stdio.h>


    #define eps 0.0001


    double abss(double x)
    {
       return x > 0 ? x : -x;
    }


    double fun(double a ,double b ,double c ,double d ,double x)
    {
        return abss(a * x * x * x + b * x * x + c * x + d);
    }
        
    double maxx(double x ,double y)
    {
        return x > y ? x : y;
    }


    int main ()
    {
       double a ,b ,c ,d ,l ,r;
       while(~scanf("%lf %lf %lf %lf %lf %lf" ,&a ,&b ,&c ,&d ,&l ,&r))
       {
          double Ans = 0;
          while(l <= r)
          {
             Ans = maxx(Ans ,fun(a ,b ,c ,d ,l));
             l += eps;
          }
          Ans = maxx(Ans ,fun(a ,b ,c ,d ,r));
          printf("%.2lf " ,Ans);
       }
       return 0;
    }
             

  • 相关阅读:
    制作本地 odoo deb包安装镜像
    用Lua实现string的trim()方法
    UGUI之控件以及按钮的监听事件系统
    UGUI之不规则按钮的响应区域
    Unity接第三方SDK时遇到的坑
    AI设计
    Unity UGUI 的RectTransform参数的设置
    Lua string库详解
    lua正则表达式如何匹配中文
    kubernetes pod的生命周期
  • 原文地址:https://www.cnblogs.com/csnd/p/12062628.html
Copyright © 2011-2022 走看看