zoukankan      html  css  js  c++  java
  • HDU 5144 NPY and shot(三分法)

    当时做这道题时一直想退出物理公式来,但是后来推到导数那一部分,由于数学不好,没有推出来那个关于Θ的最值,后来直接暴力了,很明显超时了,忘了三分法的应用,这道题又是典型的三分求最值,是个单峰曲线,下面是代码

     1 #include <stdio.h>
     2 #include <math.h>
     3 #define PI 3.1415926
     4 int v, h;
     5 double f(double i)//推倒物理公式 
     6 {
     7     return v*v*1.0*sin(2*i)/9.8+(sqrt(v*v*1.0*sin(i)*sin(i)+2.0*9.8*h)-v*sin(i))/9.8 * v*cos(i);
     8 }
     9 int main()
    10 {
    11     int T;
    12     scanf("%d", &T);
    13     while (T--)
    14     {
    15         scanf("%d %d", &h, &v);
    16         double ans = 0.0;
    17         double l = 0.0, r = PI/2;
    18         double midl, midr;
    19         while (r - l >= 1e-6)//三分求最值 
    20         {
    21             midl=(2*l+r)/3;//是由midl = (r - l) / 3 + l化简得来的 
    22             midr=(l+2*r)/3;//是由midr = (r - l) * 2 / 3 + l化简得来的 
    23             if(f(midl)>f(midr))//画图像比较好看这个关系 
    24                 r=midr;
    25             else
    26                 l=midl;
    27         }
    28         printf("%.2lf
    ", f((r+l)/2));
    29     }
    30     
    31     return 0;
    32 }
  • 相关阅读:
    CentOS6.5配置网络
    php curl 总结
    laravel-5-doctrine-2 教程
    DOS 总结
    Centos如何通过yum安装php7
    sql with 写法
    php 汉字转拼音函数
    MYSQL 升序排序但值为0的排最后
    zookeeper基础知识
    初识redis
  • 原文地址:https://www.cnblogs.com/Howe-Young/p/4162227.html
Copyright © 2011-2022 走看看