【模板】分组背包问题
暂无测试数据。
题目描述
有 \(N\) 组物品和一个容量是 \(V\) 的背包。
每组物品有若干个, 同一组内的物品最多只能选一个。
每件物品的体积是 \(v_{i,j}\),价值是 \(w_{i,j}\),其中 \(i\) 是组号,\(j\) 是组内编号。
求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。
输出最大价值。
输入格式
第一行有两个整数 \(N,V\),用空格隔开,分别表示物品组数和背包容量。
接下来有 \(N\) 组物品的数据:
每组物品的数据第一行有一个整数 \(s_i\),表示第 \(i\) 个物品组的物品数量;
每组物品的数据接下来有 \(i\) 行,每行有两个整数 \(v_{i,j},w_{i,j}\),用空格隔开,分别表示第 \(i\) 个物品组的第 \(j\) 个物品的体积和价值。
输出格式
输出一个整数,表示最大价值。
样例 #1
样例输入 #1
3 5
2
1 2
2 4
1
3 4
1
4 5
样例输出 #1
8
提示
【数据范围】
对于 \(100\%\) 的数据,\(1\le N,V\le10^2\),\(1\le s_i\le10^3\),\(1\le v_{i,j},w_{i,j}\le10^6\)。