技巧

对于求最小值初始化,合法转移可以这么判断。

HDU - 3496-Watch The Movie

针对多维费用背包问题,阶段划分与普通背包问题一样,只是在设计状态时增加费用维 度即可。
设 f[i][j1][j2][…]代表从前 i 种物品中选择若干放入费用 1 体积为 j1,费用 2 体积为 j1,…的背包的最大价值和(体积 j1,j2,…必须装满)即可。
至于状态转移,取 决于物品属性是 01、完全还是多重的

倒叙枚举 i,ji,j 优化空间。

{dpi,j=maxdpi,j,dpicid+vid\begin{cases} dp_{i,j}=\max{dp_{i,j},dp_{i-c_{id}}+v_{id}} \end{cases}

__END__