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]);

 

 

posted on 2017-03-26 11:01  子狼  阅读(153)  评论(0编辑  收藏  举报

导航