zoukankan      html  css  js  c++  java
  • xmu1125 越野车大赛(三分)

    1125: 越野车大赛

    Time Limit: 500 MS  Memory Limit: 64 MB  Special Judge
    Submit: 4  Solved: 3
    [Submit][Status][Web Board]

    Description

      TheBeet正在参加一场越野车大赛。比赛的场地如右图:
      共分三块,每一块地面的长宽均为N与M,但地表情况不同,越野车在这段路面上的最高速度也不同。


      蓝色线表示TheBeet可能的行车路线。
      比赛的要求是要求选手从比赛的场地左上角驾车至右下角。TheBeet想知道如果他在所有路段都以最快速度行驶(不考虑加速阶段),最快能在多少时间内完成比赛。

    Input

      输入数据的第一行为两个正整数N M(N<=3000,M<=1000),表示一块路面的长和宽。
      第二行为三个正整数S1,S2,S3(0<S1,S2,S3<=100),从上至下依次表示各个路面上越野车的最高速度。

    Output

      输出一个实数表示TheBeet最快能在多少时间内完成比赛。请输出一个尽可能精确的数字,控制误差在±0.000001的内。

    Sample Input

    30 10
    2 5 3

    Sample Output

    13.7427361525

    HINT

      如果你的输出和结果的相差在0.000001之内,则认为是正确答案。

    题解:二元函数用到了三次三分。。。

    代码:

     1 //f(x,y) =sqrt(x*x+M*M)/S1+sqrt(y*y+M*M)/S2+sqrt((N-x-y)*(N-x-y)+M*M)/S3;
     2 #include<stdio.h>
     3 #include<math.h>
     4 #define MIN(x,y)(x<y?x:y)
     5 int N,M;
     6 int s1,s2,s3;
     7 double gett(double x,double y){
     8     return sqrt(x*x+M*M)/s1+sqrt(y*y+M*M)/s2+sqrt((N-x-y)*(N-x-y)+M*M)/s3;
     9 }
    10 double sanfen(double l,double r,double mid){
    11     double m,mm;
    12     while(r-l>1e-10){
    13         m=(l+r)/2;
    14         mm=(m+r)/2;
    15         if(gett(mid,m)<gett(mid,mm))r=mm;
    16         else l=m;
    17     } 
    18     return gett(mid,l);
    19 } 
    20 int main(){
    21     while(~scanf("%d%d",&N,&M)){
    22         scanf("%d%d%d",&s1,&s2,&s3);
    23         double mid,midmid;
    24         double ans1,ans2;
    25         double l=0,r=N;
    26         while(r-l>1e-10){
    27         mid=(l+r)/2;midmid=(mid+r)/2;
    28         ans1=sanfen(0,N,mid);
    29         ans2=sanfen(0,N,midmid);
    30         if(ans1<ans2)r=midmid;
    31         else l=mid;
    32         }
    33         printf("%.10lf
    ",sanfen(0,N,l));
    34     }
    35     return 0;
    36 }
  • 相关阅读:
    css sprites图片背景优化技术
    CSS3新特性(整理贴)
    span HTML元素
    jQuery1.2选择器(2)
    JavaScript 弹出窗口总结
    jQuery1.2选择器(1)
    jquery如何判断checkbox(复选框)是否被选中
    使用 Lightbox 2 和 JavaScript 构建出色的图片库
    如何在一台电脑同时安装IE6、IE7、FF2、FF3进行网页调试
    IE的有条件注释详解(附实例代码)
  • 原文地址:https://www.cnblogs.com/handsomecui/p/4860782.html
Copyright © 2011-2022 走看看