题目->添加链接描述
#include<bits/stdc++.h>
#define re register
using namespace std;
int n, m;
signed main(){
scanf("%d%d", &n, &m);
int v[m + 1] = {0}, w[m + 1] = {0}, dp[n + 1] = {0};
// dp[i][j] i:第i个物品,j:剩下的价格,dp:v[]*w[]
// => dp[j] j:剩下的价格,dp:v[]*w[]
for(re int i = 1; i <= m; i++) scanf("%d%d", &v[i], &w[i]);
插入一则模板:
for(re int i = 1; i <= n; i++)
for(re int j = W; j >= w[i]; j--)
dp[j] = max(dp[j], dp[j-w[i]] + val[i]);
=>(套模板)
for(re int i = 1; i <= m; i++)
for(re int j = n; j >= v[i]; j--)
dp[j] = max(dp[j], dp[j - v[i]] + v[i] * w[i]);
printf("%d\n", dp[n]);
fclose(stdin), fclose(stdout);
}
//蒻蒻真的弱 (。・・)ノ