标签:span stream can str cst 注意 http int ref
https://www.luogu.com.cn/problem/P1048
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int f[1001], v[200], w[200]; int main() { int t, m; scanf("%d%d", &t, &m); for (int i = 1; i <= m; i++) scanf("%d%d", &w[i], &v[i]); for (int i = 1; i <= m ; i++) for (int j = t; j >= w[i]; j--) f[j] = max(f[j], f[j - w[i]] + v[i]); printf("%d", f[t]); }
f【i】数组的概念是当背包的容量是i的时候能获得的最大价值,所以i的范围是数字t的范围
for (int i = 1; i <= m ; i++):一共m个物品,我们分别判断每个物品取或者不取的情况
for (int j = t; j >= w[i]; j--):当背包的容量在w【i】~t的范围才能有选择是不是要装该物品(f[j] = max(f[j], f[j - w[i]] + v[i]);装不装哪个价值大),如果不在该范围的话就一定不能装入
标签:span stream can str cst 注意 http int ref
原文地址:https://www.cnblogs.com/Jason66661010/p/13121629.html