状态压缩动态规划

This commit is contained in:
2024-06-09 14:40:50 +08:00
parent 3f7ee8e8c0
commit 64a7875d1d
6 changed files with 100 additions and 9 deletions

View File

@ -4,16 +4,16 @@ using namespace std;
#define MAXN 10005
#define M 105
int dp[MAXN];
int w[M], v[M];
int w[M], state[M];
int x[M];
int main() {
int n, W;
cin >> W >> n;
for (int i = 1; i <= n; i++)
cin >> w[i] >> v[i];
cin >> w[i] >> state[i];
for (int i = 1; i <= n; i++)
for (int j = w[i]; j <= W; j++)
dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
dp[j] = max(dp[j], dp[j - w[i]] + state[i]);
cout << dp[W] << endl;
return 0;
}