P11290 【MX-S6-T2】「KDOI-11」飞船

题目大意:有i种加油站,最开始速度为1,每次加油可以使速度*v,每次加油有一个时间代价,求到达终点所需最小时间。

思路:不妨考虑dp,贪心是错误的。

对于速度而言,,所以速度一定,所以速度是指数增长的,状态数不会很多。

于是只有两种状态,设表示前i个加油站加到速度为

有两种转移策略:

1.

表示继承前一个点的值

2.

当且仅当vi=2

3.

当且仅当vi=3

4.vi=4同理

考虑计算答案,对于每一个终点而言,离它最近且不在它的位置上是最优的。因为这个点记录了前i个点的最优值

枚举每种状态即可,复杂度级别

相关推荐
故事和你9122 分钟前
洛谷-数据结构1-1-线性表1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论
脱氧核糖核酸__25 分钟前
LeetCode热题100——53.最大子数组和(题解+答案+要点)
数据结构·c++·算法·leetcode
脱氧核糖核酸__1 小时前
LeetCode 热题100——42.接雨水(题目+题解+答案)
数据结构·c++·算法·leetcode
王老师青少年编程2 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:数列分段 Section I
c++·算法·编程·贪心·csp·信奥赛·线性扫描贪心
王老师青少年编程2 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:分糖果
c++·算法·贪心算法·csp·信奥赛·线性扫描贪心·分糖果
_日拱一卒2 小时前
LeetCode:2两数相加
算法·leetcode·职场和发展
低代码布道师2 小时前
微搭低代码MBA 培训管理系统实战 30——学习卡
学习·低代码·rxjava
py有趣2 小时前
力扣热门100题之零钱兑换
算法·leetcode
南無忘码至尊2 小时前
Unity学习90天 - 第 6天 - 学习协程 Coroutine并实现每隔 2 秒生成一波敌人
学习·unity·c#·游戏引擎
董董灿是个攻城狮2 小时前
Opus 4.7 来了,我并不建议你升级
算法