Loading

很好的 DP 使我的脑子黄金回旋

确实是一道很好的 DP,这警示我们要多刷 DP,早日成为思维神。

description

pAthQoD.png

solution

考虑这么一件事情,我肯定是最劣每次都会选到最大的,这样才能使它最大。

\(a_i\) 从大到小排序,假设最后砸开的集合为 \(b_1, b_2, ... b_m\),则最大代价为:

\[\sum_{i = 1}^m a_{b_i} ( b_i - b_{i - 1} ) \]

于是我们选择一个如上贡献最小的即可,设 \(f_{i, j}\) 为前 \(i\) 个数选 \(j\) 个数的最小代价。

然后发现这个 DP 时间复杂度为 \(O(n^2m)\),我们将 \((i, f_{i, j})\) 插入到李超树上,然后查询一下最小值即可。

posted @ 2024-10-15 14:27  Alexande  阅读(22)  评论(0)    收藏  举报