B2173 多重背包
题目描述
你有一个容量为 $V$ 的背包,以及 $n$ 种物品。第 $i$ 种物品的体积为 $w_i$,每件价值为 $val_i$,最多有 $c_i$ 件。
你可以选择每种物品若干件放入背包,但同一种物品选择的件数不能超过 $c_i$,且总容量不能超过 $V$。
请你求出在不超过背包容量的前提下,能获得的最大总价值。
>形式化题意:设第 $i$ 种物品选择 $x_i$ 件,则需要满足:
>$$
>\sum_{i=1}^{n} x_i \cdot w_i \le V,\quad 0 \le x_i \le c_i
>$$
>最大化目标:
>$$
>\max \sum_{i=1}^{n} x_i \cdot val_i
>$$
输入格式
第一行两个整数 $n, V$,表示物品种类数与背包容量。
接下来 $n$ 行,每行三个整数 $w_i, val_i, c_i$,分别表示第 $i$ 种物品的体积、价值与最多件数。
输出格式
输出一个整数,表示最大总价值。
说明/提示
### 样例解释 #1
一种可行的最优方案是:
- 选第 1 种物品 $2$ 件:体积 $2\times 3=6$,价值 $2\times 4=8$
- 选第 3 种物品 $2$ 件:体积 $2\times 2=4$,价值 $2\times 3=6$
总容量 $6+4=10 \le 10$,总价值 $8+6=14$,为最大值。
### 数据范围
对于 $40\%$ 的数据,$1\le n \le 9$,$1\le V \le 1000$,$1\le c_i \le 5$。
对于 $100\%$ 的数据,$1\le n \le 500$,$1\le V \le 1000$,$1\le c_i \le 100$。