xmu 1125.越野车大赛

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之内,则觉得是正确答案。

思路:

这个题目不错。横线N上有两个点。先要确定第一个x1,x1可能为mid1或midmid1;1,以mid1为基准求第二个点     2,以midmid1为基准求第二个点。

比較两个结果再一次三分求极值。

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
#define eps 1e-7
int n,m;
int s1,s2,s3; double cal(double x,double y)
{
return sqrt(m*m+x*x)/s1+sqrt(m*m+y*y)/s2+sqrt(m*m+(n-x-y)*(n-x-y))/s3;
} int main()
{
cin>>n>>m;
cin>>s1>>s2>>s3;
double ans=0xfffffff;
double l=0,h=n,ll=0,hh=n;
double mid1,midmid1,mid2,midmid2;
double t1,t2,t11,t22;
while(h-l>eps)
{
mid1=(l+h)/2;
midmid1=(mid1+h)/2;
//ans1=cal(mid1);
//ans11=cal(midmid1);
ll=0,hh=n;
while(hh-ll>eps)
{
mid2=(ll+hh)/2;
midmid2=(mid2+hh)/2;
t11=cal(mid1,mid2);
t22=cal(mid1,midmid2);
if(t11<t22)
hh=midmid2;
else
ll=mid2;
}//计算mid1为基准的第二个点的位置
t1=cal(mid1,ll);
ll=0,hh=n;
while(hh-ll>eps)
{
mid2=(ll+hh)/2;
midmid2=(mid2+hh)/2;
t11=cal(midmid1,mid2);
t22=cal(midmid1,midmid2);
if(t11<t22)
hh=midmid2;
else
ll=mid2;
}
t2=cal(midmid1,ll);
if(t1<t2)
{
h=midmid1;ans=min(ans,t1);
}
else
{
l=mid1;ans=min(ans,t2);
}
}
printf("%.10lf\n",ans);
return 0;
}

xmu 1125 越野车大赛(公式推导&amp;&amp;三分)(中等)的更多相关文章

  1. XMU 1125 越野车大赛 【三分】

    1125: 越野车大赛 Time Limit: 500 MS  Memory Limit: 64 MB  Special JudgeSubmit: 8  Solved: 4[Submit][Statu ...

  2. xmu1125 越野车大赛(三分)

    1125: 越野车大赛 Time Limit: 500 MS  Memory Limit: 64 MB  Special JudgeSubmit: 4  Solved: 3[Submit][Statu ...

  3. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...

  4. 2017"百度之星"程序设计大赛 - 复赛 01,03,05

    Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  5. NDT(Normal Distributions Transform)算法原理与公式推导

    正态分布变换(NDT)算法是一个配准算法,它应用于三维点的统计模型,使用标准最优化技术来确定两个点云间的最优的匹配,因为其在配准过程中不利用对应点的特征计算和匹配,所以时间比其他方法快.下面的公式推导 ...

  6. 2015游戏蛮牛——蛮牛杯第四届开发者大赛 创见VR未来开启报名

    蛮牛杯启动了,大家开始报名! http://cup.manew.com/ 这不是一篇普通的通稿,别着急忽略它.它是一篇可以让你梦想变现的通稿! 从某一天开始,游戏蛮牛就立志要为开发者服务,我们深知这一 ...

  7. codevs 3288 积木大赛

    题目描述 Description 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第i块积木的最终高度 ...

  8. hdu3714 三分找最值

    Error Curves Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  9. 详解Maple如何公式推导和生成代码

    公式推导 直观自然的数学表达式,智能的关联菜单,交互式助手等协助您从容通过推导过程,让您更容易地完成解决方案的开发,快速.无错! 分析 Maple 内置超过大量的计算函数,包括积分变换,微分方程求解器 ...

随机推荐

  1. Nginx 502 Bad Gateway 解决方法

    proxy_next_upstream error timeout invalid_header http_500 http_503;或者尝试设置:large_client_header_buffer ...

  2. bzoj 1264: [AHOI2006]基因匹配Match

    1264: [AHOI2006]基因匹配Match Description 基因匹配(match) 卡卡昨天晚上做梦梦见他和可可来到了另外一个星球,这个星球上生物的DNA序列由无数种碱基排列而成(地球 ...

  3. hdu 5195 DZY Loves Topological Sorting 线段树+拓扑排序

    DZY Loves Topological Sorting Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/sho ...

  4. IOS http 请求

    asihttprequest 为第三方数据请求,一下为get  和post 两种请求. Get: NSString *loginName=@"Tony"; NSString *pw ...

  5. wampserver3.1.0安装及配置

    安装篇 环境:win10 64位+wamp3.1.0 为什么安装wamp3.1.0呢?php7早已正式发布了,还没有尝过鲜呢.点击进入wampserver下载地址 本以为下载后,执行exe文件,点ne ...

  6. git中:关于origin和master

    git的服务器端(remote)端包含多个repository,每个repository可以理解为一个项目.而每个repository下有多个branch."origin"就是指向 ...

  7. 解决数据库 Table 'content_tags' is marked as crashed and should be repaired 表损坏问题

    今天突然网站TAG页面打不开了,打开debug,发现提示 Table 'content_tags' is marked as crashed and should be repaired 这样的错误 ...

  8. Level-shifting nixes need for dual power supply

    The AD736 true-rms-to-dcconverter is useful for many applications that require precise calculation o ...

  9. php中的var_dump()方法的详细说明

    首先看看实例: <?PHP$a = "alsdflasdf;a";$b = var_dump($a);echo "<br>";//var_du ...

  10. .jar包文件的生成与运行

    首先你得线配置好你的JRE,否则下面的都不会有作用,还没有配置的,请百度上搜索一下如何配置.这里我就不多讲了. jar包是一个可执行的文件包,简单说jar包就是一个外包.Java 程序是由若干个 .c ...