摘要:
题意:
有很多个箱子,想买箱子中的物品必须先买下箱子
思路:
依赖背包,实际的操作过程中依然需要注意几个点:01背包的时候,背包容量是由max-p到ci,而非max到p+ci。
至于为什么,因为后一种则就是表示每个物品代价是p+ci,而非ci了,所以此时就会计算错误 阅读全文
posted @ 2012-11-08 23:10
kedebug
阅读(265)
评论(0)
推荐(0)
摘要:
题意:
一棵树,每个节点有一个权值,求从根节点出发,最多走K步,能够取得的最大权值(可以往回走)。
思路:
dp[0][u][j] 从u节点出发,最多走j步(可以小于j步),可以获得的最大权值。
dp[1][u][j] 从u节点出发,最多走j步,最终停留在u的子树节点,可以获得的最大权值。 阅读全文
posted @ 2012-11-08 21:29
kedebug
阅读(304)
评论(0)
推荐(0)
摘要:
思路:
看完背包9讲,感觉这一题还是不难理解的。首先,对于没有组的限制的X类物品,进行一遍背包(01背包、完全背包、多重背包)。
其次,对于有组的限制的物品,就需要再次考虑下了。这次要用到泛化背包和分组背包的思想。每一组只能选择组里面的一类物品。
于是试图考虑,如果我分给这个组V(range from 0 to D)的容量,能够最多拿到多少价值。因为这个组有X类物品,只能选择一类,
所以需要先对这个组的每一类物品进行一次01背包,获得分配给这类物品V的容量取得的最大价值,然后再对这个组的X类物品进行分组背包。
最后,针对上述组进行一次分组背包,问题得以解决。 阅读全文
posted @ 2012-11-08 17:18
kedebug
阅读(421)
评论(0)
推荐(0)

浙公网安备 33010602011771号