ABC320 FG
F - Fuel Round Trip
注意到路程分成了两段,所以我们也按两段 dp。
设
初始对于
考虑刷表法转移(
- 不加油:
需要满足 $j-d\ge 0$ 且 $k+d\le h$。
- 来程时加油:
需要满足 $j-d\ge 0$ 且 $k+d\le h$。
-
回程时加油:
……此时发现不太好搞,如果直接枚举容量,那么我们无法判断加油前的容量是多少。于是我们修改状态的定义:
表示到第 个加油站,来程加油后油量为 ,回程加油前油量为 的最小代价。这样前面的转移,初始条件都不变。然后就很好转移了,枚举
处的返程容量 ,那么:
需要满足 $j-d\ge 0$ 且 $\min(k+F_{i+1},H)\ge 0$。
这样最后的答案就是
时间复杂度
G - Slot Strategy 2 (Hard)
考虑枚举最终字符
假设当前时间为
以每一行为左部点,下标为右部点。对于每一行
这里需要注意一点,由于每个时间不能重复选,所以
但是左部点数量很少,由 Hall 定理我们可以知道,只要满足
这样点数和边数就都降到了
实现时我用了 map
给右部点标号,所以还要多个
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!