#include<bits/stdc++.h>
using namespace std;
int t[105],v[105];
int f[105][1005];
int main()
{
ios::sync_with_stdio(false);
int T,M;
cin>>T>>M;
for(int i=1;i<=M;i++)
{
cin>>t[i]>>v[i];
}
for(int i=1;i<=M;i++)
{
for(int j=1;j<=T;j++)
{
if(t[i]>j)
{
f[i][j]=f[i-1][j];
}
else
{
for(int k=1;k<=j/t[i];j++)
{
if(t[i]*)
f[i][j]=max(f[i-1][j],f[i-1][j-t[i]]+v[i]*i);
}
}
}
}
cout<<f[M][T];
return 0;
}
完全背包问题的代码,我这样写有点问题啊。。。
暂时没用滚动数组优化,各位大佬们帮忙看看我和个DP是不是有点问题啊