价值:记录学习过程的思考,本身就是一场动态规划的前生,记忆化搜索。
public class GroupHuChiBag_for_k_s_01bag {
//f[j] : 容量为j的情况下,最大的价值
// N <= 100
void dp() {
int n = 100; // 物品种数
int m = 1000; // bag容量
int f[] = new int[m + 1];
int v[] = new int[n];
int w[] = new int[n];
for (int i = 0; i < n; i++) {
//init 每组中的物品体积和重量
int s = 5; //这里简单模拟下,每组5个
// cin >> s; // init过程
// for (int j = 0; j < s; j++) {
// cin >> v[j] >> w[j];
// }
for (int j = m; j >= 0; j--) {
//枚举互斥决策
for (int k = 0; k < s; k++) {
f[j] = Math.max(f[j], f[j - v[k]] + w[k]);
}
}
}
int ans = f[m];
}