Gravatar
yrtiop
积分:2053
提交:304 / 803

首先,01 背包是 NP 的,直接做不行,要关注题中的小性质。

发现 $C_i\le 300$,于是对 $C_i$ 分组,同组内价值降序排序,设为 $V_1\sim V_m$,那么如果选上 $V_k$,则必然选上 $V_1\sim V_{k-1}$,挺显然的。把它看作一个前缀和的形式。

然后发现 dp 方程可以各个同余类分开计算。

进一步的,一个同余类中的 dp 转移具有决策单调性。

感性理解一下,如果决策不具有单调性,那么会取的 $k$ 会更大,而我们对元素进行了降序排序,$k$ 更大是不优的。

决策单调性分治计算即可。

时间复杂度 $\mathcal O(kc\log k)$。


题目3833  [雅礼集训 2017 Day5] 珠宝      8      评论
2023-02-25 23:31:45