明显的完全背包
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是价值。

京公网安备 11010502036488号