zoukankan      html  css  js  c++  java
  • HDU 2899 三分

      我们对这个函数求二阶导数,发现他的二阶导数是恒大于0的,那么他的导数是单调的,且在某时刻为0,那么这时的x值就是极值处的x值,其实题目说了,有最小值,那么我们三分水过去就好了。

      反思:精度不够,因为是log3的,所以的40次循环就WA,50次就可以A。

    //By BLADEVIL
    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    
    int task;
    double y;
    
    double f(double x) {
        return (6*x*x*x*x*x*x*x+8*x*x*x*x*x*x+7*x*x*x+5*x*x-y*x);
    }
    
    int main() {
        scanf("%d",&task);
        while (task--) {
            cin>>y;
            double l=0,r=100;
            for (int i=1;i<=50;i++) {
                double mid1=l+(r-l)/3,mid2=mid1+(r-l)/3;
                if (f(mid1)>f(mid2)) l=mid1; else r=mid2; 
            }
            printf("%.4f
    ",f(l));
        }
        return 0;
    }
  • 相关阅读:
    网络编程
    GUI编程
    Java数组
    Day24
    Day23
    Day22
    Day21
    Day20
    Day19
    Day18
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3594386.html
Copyright © 2011-2022 走看看