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-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务