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背包求解。






全部评论

相关推荐

04-03 12:09
東京大学 C++
点赞 评论 收藏
分享
刘湘_passion:出国旅游?那就小心你的腰子咯
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务