杂题选讲20231025
题目描述
- 你在一个有
个点的环上顺时针前进,环上第 个点有两个权值 ,分别代表从点 到点 的消耗的油和点 处的油价。你的车的油箱最多只能装 升油,对于每个点,求出从这个点开始顺时针转一圈返回这个点的最小消耗。
思路点拨
因为题目中有一个特别有意思的性质就是
根据上述策略,我们考虑两个节点
-
,我们计算出两点之间的距离 ,如果 ,那么我们尽量买 ,别的买 所以花费是 ;如果 ,我们可以全部买价格为 的油,所以花费就是 。 -
, 我们只可以购买价格为 的油,花费 。
根据以上贪心策略我们发现如果我们以油价为
注意到这个贡献的计算方式是很好合并的,固可以使用倍增算法优化:我们定义状态
时间复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现