最后一车辆到达目的地花费的时间,动态规划解题思路

题目描述

辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为 N 。

速度快的车追上前车后,只能以前车的速度继续行驶,求最后一车辆到达目的地花费的时间。

注意:

每辆车固定间隔 1 小时出发,比如第一辆车 0 时出发,第二辆车 1 时出发,依次类推。

解题思路:动态规划

“速度快的车追上前车后,只能以前车的速度继续行驶”

做题的时候容易被这个题设误导,把问题想复杂,会思考最后一辆车能否在到达终点前追上前车,追上前车的时间,以及共同行驶的时间,进而思考前一辆车是否会被更前一辆车影响,提前减速,导致最后一辆车提前追上前一辆车,影响最后一辆车到达时间,不停的向前递推,不停的判定,导致问题无法解决。

其实,如果已知前车到达目的地花费的时间dp(0),那么只需要判断后车能否维持初始速度在 dp(0)-1 的时间内到达终点,如果能到达,那么后车必然在终点之前追上了前车,然后与前车共同行驶到终点,不需要考虑后车何时追上前车以及后车追上前车的时间点,此时后车到达终点的时间为 dp(0)-1 ,如果不能在 dp(0)-1 的时间内到达终点,说明在终点前没有追上前车,此时后车到达终点的时间为 s/v1。因此,每一辆车的到达时间只受前一辆车的到达时间影响,满足无后效性要求,适用动态规划求解,且动态转移方程为dp(i)=max{dp(i-1)-1 , s/v(i)} ,初始状态dp(0)=s/v(0)

全部评论

相关推荐

头像
昨天 16:48
已编辑
百度_高级研发工程师
事实是检验真理的唯一标准。 无论我们怎么去说,去讲述,去证明,都抵不过一个offer来得实在,无论我们怎么去复现求职中的摸爬滚打、扒皮抽筋、狼狈不堪,都抵不过你在简历写上大厂的名字(外包不算)。 所以在我求职期间,我什么话都不说,什么话都不讲,因为没有意义,虽然我总讲过程才是意义,但只有当你上岸的那一刻,你才有资格回想在水里的挣扎,只有等你出了山,你才知道山的全貌。 我为什么一定要离开华为OD,难道它不稳定吗,不能赚钱吗。为了证明自己,那肯定有的。其实更多的是印证我的认知是否真的正确。 (给不了解我的人交代一下背景,在下双非一本,gap一年,华为OD外包,摸爬滚打4个月,艰难上岸百度正编)一、...
先锋战士:说得很真诚。鄙视链自古有之,学历,家庭背景,财富,权利。从小有之,小学羡慕那些当班委的,中学羡慕那些学生会的,高中羡慕尖子班拿教学金的,大学羡慕高绩点,毕业了羡慕进大厂的。工作了,又羡慕高职级的,再后来又羡慕别人早早结婚的。我想表达的观点很简单,无论是华为od还是百度,都是经历,没有孰高孰低,为了抵达下一个风景,总会付出更多东西,但不就是人生吗?正如登山,每个阶段的山,都要想办法攀登,在博主的文字中,见到了坚持和积极寻找问题解决办法的心态
学历对求职的影响
点赞 评论 收藏
分享
迷茫的大四🐶:💐孝子启动失败,改为启动咏鹅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务