U663791 疯狂的背包问题(9) - 多重背包问题 II

题目背景

动态规划问题中的多重背包问题模板题(二进制优化)。

题目描述

有 $N$ 种物品和一个容量为 $V$ 的背包。 对于第 $i$ 种物品,最多有 $s_i$ 件,每件体积为 $V_i$,价值为 $W_i$。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。

输入格式

第一行有两个整数 $N$ 和 $V$,用空格隔开,分别表示物品种数和背包容积。 接下来有 $N$ 行,每行有三个整数 $V_i$、$W_i$、$S_i$,用空格隔开,分别表示第 $i$ 种物品的体积、价值和数量。

输出格式

输出一个整数,表示最大价值。

说明/提示

**数据范围** * $0 < N \leq 10^3$ * $0 < V \leq 10^3$ * $0 < v_i, w_i, s_i \leq 10^3$