01背包题

[NOIP2006]金明的预算方案

https://ac.nowcoder.com/acm/contest/24213/1024



解题思路:对于某些附件,他们依赖与主件,所以对于某个主件来说,把它的所有附件先找出来,之后最外层for循环直接枚举每一个主件,对于主件的附件在利用一个01背包进行解题。
所以状态定义为:dp[i][j][k] 表示在前n个主件中,j为0表示不选该主件,钱数为k时的最优解,j为1表示选该主件的情况下,钱数为k时的最优解。
状态转移方程为:dp[i][0][k] = max(dp[i-1][0][k], dp[i-1][1][k]);
  dp[i][1][k] = 再利用一个01背包求解。






全部评论

相关推荐

06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务