Loading

[SCOI2010] 股票交易

思路

乍一看非常的复杂, 实际上也非常的复杂

\(f_{i, j}\) 表示第 \(i\) 天持有 \(j\) 股的最优赚钱

我们可以枚举从什么地方转移而来, 列出柿子

\[f_{i, j} = \max \{ f_{i - 1, j}, \max_{k} [f_{i - w - 1, k} - AP_i \cdot (j - k), f_{i - w - 1, k} +BP_i \cdot (k - j)] \} \]

大概是这样, 字面意思, 就是不买不卖 / 买 / 卖的分类讨论

但是这样做是 \(\mathcal{O} (nW^2)\) 的, 考虑优化

我们注意到 $ f_{i - w - 1, k} - AP_i \cdot (j - k) = f_{i - w - 1, k} - AP_i \cdot k + (AP_i \cdot j)$ 这个形式是可以单调队列优化的

于是解决了这个问题

总结

善于设计状态

常见的单调队列优化

posted @ 2024-12-16 21:19  Yorg  阅读(8)  评论(0)    收藏  举报