Homework Introduction
背包问题 01背包
for (int i = 1; i <= n; i++)
for (int j = v; j >= c[i]; j--) {
dp[j] = max(dp[j - c[i]] + w[i], dp[j]);
}
多重背包
for (int i = 1; i <= N; i++) {
for (int j = V; j >= 0; j--) {
for (int k = 1; k <= n[i]; k++) {
if (j >= c[i] * k) {
dp[j] = max(dp[j - c[i] * k] + w[i] * k, dp[j]);
}
}
}
}
完全背包
for (int i = 1; i <= n; i++) {
for (int j = c[i]; j <= v; j++) {
dp[j] = max(dp[j - c[i]] + w[i], dp[j]);
}
}
Problem
Please claim the assignment to see the problems.
- Status
- Live...
- Problem
- 9
- Open Since
- 2026-9-27 0:00
- Deadline
- 2026-10-6 23:59
- Extension
- 24 hour(s)