現在有一家人去超市購物。每個人都有所能攜帶的重量上限。超市中的每個商品有其相應的價值和重量,并且有規定,每人每種商品最多購買一個。求這一家人所能購買到的最大價值是多少。
每個人的所能攜帶的最大重量即為背包容量。此題只是換成n個人而已。所以分別以每個人最大攜帶重量為背包容量,對所有商品做01背包,求出每個人的最大價值。這些最大價值之和即為這家人購物的最大價值。
核心狀態轉移方程: dp[i][j] = max(dp[i][j],dp[i-1][j-wei[i]]+val[i]);
新聞熱點
疑難解答