0分求助,不知道为什么题解里dp数组要设为最大值
查看原帖
0分求助,不知道为什么题解里dp数组要设为最大值
452450
CadeShuWindsor楼主2021/10/18 20:43

0分求助,不知道为什么题解里dp数组要设为最大值 代码如下,我的思路同完全背包思路

#include<bits/stdc++.h>
using namespace std;
long long dp[1000000]; 
int w[10000],c[10000];
int main()
{
	int m; 
	cin>>m;
	for(int i=1;i<=18;i++)
	{
		w[i]=i*i*i*i;
	}
	for(int i=1;i<=18;i++)
	{
		for(int j=w[i];j<=m;j++)
		{	
			dp[j]=max(dp[j],dp[j-w[i]]+1);
		}		
	}
	cout<<dp[m];
	return 0;
}






2021/10/18 20:43
加载中...