完全背包问题核心代码

easy:

for(int i=1;i<=n;i++)
{
	for(int v=w[i];v<=V;v++)
	{
		dp[v]=max{dp[v],dp[v-w[i]]+c[i]};
	}
}

为什么是正向枚举呢?因为每个物体个数无限个可以重复取,dp[i][v-w[i]]总是已经计算出的结果。

猜你喜欢

转载自blog.csdn.net/qq_41437694/article/details/89220144