P2871 [USACO07DEC]手链Charm Bracelet
题目入口:P2871 [USACO07DEC]手链Charm Bracelet
写在前面
01背包模版题
使用模版【模版】背包问题汇总
AC代码
//01背包模版
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
#define MaxSize 100010 //注意最大物品数的修改
int wei[MaxSize], val[MaxSize], dp[MaxSize]; //物品重量 价值 最优答案
int main() {
int n, cap; //物品数量number 容量capacity
scanf("%d%d", &n, &cap);
for (int i = 1; i <= n; i++) scanf("%d%d", &wei[i], &val[i]);
for (int i = 1; i <= n; i++)
for (int j = cap; j >= wei[i]; j--)
dp[j] = max(dp[j], dp[j-wei[i]]+val[i]);
printf("%d\n", dp[cap]);
return 0;
}