传送门

•题意

有编号0到n,n+1辆车排队过红绿灯,从0到n离交通灯线越来越近

每辆车都有一个最大速度v,车身长度l,和离交通灯线的距离s,

一辆车头到达线则说明这辆车已到达线

如果一辆车前面没有紧邻着一辆车,那么这辆车可以以最大速度行驶

如果前面紧邻着一辆车,则车头贴着前一辆车尾行驶,不能超车!

即使过了交通灯线也不能超车!

问第0辆也就是离线最远的一辆,到达线的最短时间

•思路

既然不能超车,那么最远的车到线时有两种可能

①自己到线 $t=\frac{s_{0}}{v_{0}}$

②接在第p辆车后面到线 $\frac{s_{p}+\sum_{1}^{p}l_{i}}{v_{p}}$

解释一下接在某辆车后面为什么是这样算

假设有两辆车$a_{1}$速度为$v$,$a_{0}$速度为$2v$

当前面的车到达$p$点时,同时后面的车到达${p}'$ ,两者所花时间相同

同理可知

当$a_{1}$到达$O$点时,$a_{0}$到达$l_{1}$点,也就是$a_{0}$离终点线的距离是$a_{1}$的车长

②式也就是如果连在了第$p$辆车后面($p$后面的车全都连起来了)

当第$p$辆车到达终点线时,最远的一辆车离终点线的距离就是$p$后面所有车的车长-最后一辆车自身车长

也就是$sum=\sum_{1}^{p}l_{i}$

所以行驶的时间就是$p$车行驶时间+最远的车以$v_{p}$行驶$sum$的时间即$\frac{s_{p}}{v_{p}}+\frac{\sum_{1}^{p}l_{i}}{v_{p}}$

由于接在那辆车后面不确定,所以可以算最大的时间,

行驶时间长说明速度慢,后面速度快的肯定会接在他后面

•代码

 #include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+;
double l[maxn],s[maxn],v[maxn];
double sum[maxn];
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=;i<=n;i++)
{
scanf("%lf",&l[i]);
if(i==)
continue;
sum[i]=sum[i-]+l[i];
}
for(int i=;i<=n;i++)
scanf("%lf",&s[i]);
for(int i=;i<=n;i++)
scanf("%lf",&v[i]); ///单独过终点
double ans=s[]/v[]; ///排队过终点
for(int i=;i<=n;i++)
ans=max(ans,(s[i]+sum[i])/v[i]); printf("%.10f\n",ans);
}
}

hdu 6851 Vacation(思维+贪心)的更多相关文章

  1. HDU 4442 Physical Examination(贪心)

    HDU 4442 Physical Examination(贪心) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=4442 Descripti ...

  2. 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心

    2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest- H. Rikka with A Long Colour Palette -思维+贪心 [Proble ...

  3. E. The Contest ( 简单DP || 思维 + 贪心)

    传送门 题意: 有 n 个数 (1 ~ n) 分给了三个人 a, b, c: 其中 a 有 k1 个, b 有 k2 个, c 有 k3 个. 现在问最少需要多少操作,使得 a 中所有数 是 1 ~ ...

  4. Sorted Adjacent Differences(CodeForces - 1339B)【思维+贪心】

    B - Sorted Adjacent Differences(CodeForces - 1339B) 题目链接 算法 思维+贪心 时间复杂度O(nlogn) 1.这道题的题意主要就是让你对一个数组进 ...

  5. Codeforces Round #768 (Div. 2) D. Range and Partition // 思维 + 贪心 + 二分查找

    The link to problem:Problem - D - Codeforces   D. Range and Partition  time limit per test: 2 second ...

  6. hdu 6581 Vacation【思维】

    原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=6581 VacationTime Limit: 10000/5000 MS (Java/Others) ...

  7. hdu 4091 数学思维题贪心

    /* 参看博客地址:http://blog.csdn.net/oceanlight/article/details/7857713 重点是取完最优的后剩余的rest=n%lcm+lcm;中性价比小的数 ...

  8. hdu 4004 (二分加贪心) 青蛙过河

    题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4004 题目意思是青蛙要过河,现在给你河的宽度,河中石头的个数(青蛙要从石头上跳过河,这些石头都是在垂 ...

  9. HDU 5835 Danganronpa (贪心)

    Danganronpa 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5835 Description Chisa Yukizome works as ...

随机推荐

  1. centos6.5后台进程的切换

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  2. apache服务器配置防盗链(centos7)

    <Directory /data/wwwroot/xwl.com> SetEnvIfNoCase Referer "^$" local_ref SetEnvIfNoCa ...

  3. 巨蟒python全栈开发-第11阶段 ansible_project1

    今日大纲: 1.前端页面介绍 2.发布流程 3.需求分析 4.表结构设计 5.前端页面设计 昨日内容回顾: 1.roles - tasks - handlers - files - templates ...

  4. sql查询报java.sql.SQLException: Column 'LC_ID' not found 的错误实际上是mysql在hibernate别名的问题

    报java.sql.SQLException: Column 'LC_ID' not found 的错误实际上是mysql在hibernate别名的问题 我的查询sql是 String sql2 =& ...

  5. @atcoder - AGC035D@ Add and Remove

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N 张排成一行的卡片,第 i 张卡片上面写着 Ai. 重复 ...

  6. 爬虫:Selenium + PhantomJS

    更:Selenium特征过多(language/UserAgent/navigator/en-US/plugins),以Selenium打开的浏览器处于自测模式,很容易被检测出来,解决方法可选: 用m ...

  7. et al.

    et al.   英 [ˌet ˈæl]   adv. <拉>以及其他人; [例句]Earlier research in conventional RCS modelling for d ...

  8. windows 关闭端口被占用脚本

    cmd 关闭进程java taskkill /F /IM java.exe taskkill /f /im java.exe 如何用dat批处理文件关闭某端口对应程序-Windows自动化命令 如何用 ...

  9. 解决TortoiseSVN中out of date问题的一个方法

    http://blog.csdn.net/freefalcon/article/details/645058 从去年开始,公司的代码管理从CVS转向了subvsersion,后者确实是前者的一个飞跃, ...

  10. 给tomcat容器配置SSL的记录,包含项目完整部署过程

    给tomcat容器配置SSL(https) 昨天公司有一个旧的项目要部署, 服务器(OS是windows 10) 数据库都是新买的, 写个博客记录一下 1, 下载证书(以阿里云为例子) 参考链接: h ...