传送门

•题意

有编号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. Framework7 无限滚动

    html结构 <div class="page"> <div class="page-content infinite-scroll"> ...

  2. CF772E Verifying Kingdom

    CF772E Verifying Kingdom 有趣的交互题(交互题都挺有意思的) %ywy 增量法构造 考虑加入了前i个叶子 那么树是前i个叶子构成的虚树! 最后n个叶子构成的虚树就是答案! 怎样 ...

  3. JAVA高级特性--自动拆箱-装箱,枚举类型

    基本数据类型转换为引用类型对象 一个自动装箱的例子 Integer i=10; 相当于 Integer i=new Integer(10); 一个自动拆箱的例子 Integer m=10; int n ...

  4. ActiveX控件的消息处理函数

    首先切换到类视图 然后鼠标单击选中类(如果你要给ClockCtrl类添加事件,你就选中ClockCtrl类) PS:顺便多说一句,如果不用这种方法,而是手动添加,即使你的代码跟MFC添加的一模一样,那 ...

  5. oracle表复杂查询--多表查询

    多表查询是指基于两个和两个以上的表或是视图的查询,在实际应用中,查询单个表可能不能满足你的要求,如显示sales部门位置和其员工的姓名,这种情况下需要使用到dept表和emp表.     select ...

  6. Centos7环境下搭建Nginx+Lua+Redis进行数据存取

    1.安装依赖环境 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.安装LuaJIT cd /usr/loca ...

  7. HZOJ 赤(CF739E Gosha is hunting)

    本来没有打算写题解的,时间有点紧.但是这个wqs二分看了好久才明白还是写点东西吧. 题解就直接粘dg的了: 赤(red) 本题来自codeforces 739E,加大了数据范围. 首先对一只猫不会扔两 ...

  8. How to use AutoMapper

    http://docs.automapper.org/en/stable/Getting-started.html IMappingExpression<TSource, TDestinatio ...

  9. oracle函数 RTRIM(c1,[,c2])

    [功能]删除右边出现的字符串 [参数]C1 字符串 c2 追加字符串,默认为空格 [返回]字符型 [示例] SQL> select RTRIM('gao qian jingXXXX','X') ...

  10. Strange Way to Express Integers

    I. Strange Way to Express Integers 题目描述 原题来自:POJ 2891 给定 2n2n2n 个正整数 a1,a2,⋯,ana_1,a_2,\cdots ,a_na​ ...