队列优化多重背包

来源:互联网 发布:美团数据分析 编辑:程序博客网 时间:2024/06/16 20:15
今天学习多重背包队列优化,其思想就是考虑现在要加入背包的一个物品,其所需空间为d,所有能更新当背包空间为值vi的时候的状态的空间肯定是vi-k*d(易得),所以可以利用一个单调队列优化,同时由于随着空间的增大,其价值是肯定增大的,为此需要利用类似于斜率的思想维护单调性,否则会全部是最后一个最优。然后每次将队尾元素弹栈后再压入新元素,队头弹栈后即为答案,复杂度O(nm),十分优。
原创粉丝点击