明显的完全背包
AC代码如下
#include<bits/stdc++.h> using namespace std; int m,n; int p[10005],t[10005],dp[10005]; int main() { scanf("%d%d",&m,&n); for(int i=1;i<=n;i++) scanf("%d%d",&p[i],&t[i]); for(int i=1;i<=n;i++) { for(int j=t[i];j<=m;j++) dp[j]=max(dp[j],dp[j-t[i]]+p[i]); } printf("%d",dp[m]); return 0; }
完全背包模板
for(int i=1;i<=n;i++) { for(int j=v[i];j<=m;j++) dp[j]=max(dp[j],dp[j-v[i]]+w[i]); }
其中v是体积,w是价值。