DP的完全背包问题
  • 板块灌水区
  • 楼主Chinshyo
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/7/29 11:08
  • 上次更新2023/11/6 21:53:08
查看原帖
DP的完全背包问题
312820
Chinshyo楼主2020/7/29 11:08
#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是不是有点问题啊

2020/7/29 11:08
加载中...