首先,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
|