题目:
分析:这是一道01背包问题,有一个限制条件就是附件必须要在主件购买的前提下才能购买。本题的总钱数就类似于背包问题中的总重量,价格与重要度乘积的总和就类似于背包问题中的价值。定义数组dp[i][j]表示前i件物品花费j所得到的最大价值,对于每件物品可以选择放或者不放,具体:
(1)如果j<price[i-1](第i件物品的价格),则不能放入,dp[i][j]=dp[i-1][j];
(2)如果j>=price[i-1],那么可以选择放或者不放,分别对于转移方程:dp[i][j]=dp[i-1][j-price[i-1]]+v[i],dp[i][j]=dp[i-1][j];取两者中较大值,即
</