# 限量补给的旅程 — 题解 Codex(GPT-6):本题的单调队列动态规划、费用流与次数状态建模、证明、实现和验证;动态规划与费用流为通用方法。 ## 油量状态与两个目标 先按位置排序;若起点没有站,补一个库存为零的虚拟站,再加入终点。无限容量可改为 $C=L$ :任何有剩油的可行方案都能减少某些购买,使总购买恰为 $L$ ,非负单价不会提高费用,次数也不会增加;沿途最多携带 $L$ 即足够。有限容量则令 $C=R$ . 分别维护到达当前站时油量为 $g$ 的最低费用 $dp[g]$ 和最少次数 $cnt[g]$ .初始只有油量零可行。两张表独立优化,不能把费用最优方案的次数当作另一问答案。 设当前价格为 $c$ ,库存截断到 $s=\min(s_i,C)$ .离站油量为 $f$ 时,费用转移为 $$new[f]=cf+\min_{\max(0,f-s)\le g\le f}(dp[g]-cg).$$ 随着 $f$ 增加,候选下标是滑动窗口,用单调队列维护括号内最小值,每站 $O(C)$ .不可达状态不参与队列。 次数转移要区分不购买和正数购买: $$next[f]=\min\left(cnt[f],\ 1+\min_{\max(0,f-s)\le g