dp之完全背包(根据题目规模选择dp方式)

n个物品有各自的价值(v[i])和重量(w[i]), 给定最大的重量,求能达到的最大价值。

有两种规模方式:

1.

  1 <= n <= 100

  1 <= v <= 1^7;

  1 <= w <= 100;

2.

  1 <= n <= 100

  1 <= w <= 1^7;

  1 <= v <= 100;

有两种dp方式

A:  M[i][j]///前i个物品中总重量不超过j的最大价值;

B:  M[i][j]///前i个物品中总价值为j的最小重量;

明显,第一种规模用的是A, 第二种用的是B。

相应的状态转移方程是:

  M[i+1][j] = max(M[i][j], M[i][j-w[i]] + v[i]);

  M[i+1][j] = min(M[i][j], M[i][j-v[i]] + w[i]);

 

print “ 欢迎来到渣小狼的博客,这既是博客,也是日记,里面记录了小狼的学习经历还有一些小狼的见解,非常希望每一个来到这里的人能够留下只言片语,更加的希望留下的是对于小狼的不足的补充,谢谢(*^__^*) 嘻嘻……”
原文地址:https://www.cnblogs.com/wolf-yasen/p/6622061.html