PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Prob_Solve
[问题] 请教 ZJ c824/c835 的01背包问题(已解决)
楼主:
fatcat8127
(胖胖猫)
2019-02-27 00:35:38
如题,这两题的题目叙述和要求都是相同的,但特别之处在于物品的重量和背包负重都是2
的次方项,要求和01背包问题一样问价值总和最大化。
想问一下解题方向或是想法,自己google了一下没看到有题解也不知道怎么下关键字和01背
包做区隔,先谢谢各位大大的回复。
因为输入的物品数量高达1e6个,而且重量和2的次方项有关,就异想天开想说会不会和
Huffman-Code 的编码方式有关,所以写了一个初版本,通过51%测资而已。
以下是我的程式码:https://www.codepile.net/pile/A71bYyDz
作者:
oToToT
(å±å©)
2019-02-27 19:52:00
对于重量2^k时,我们把价值最大的两个合在一起凑出重量2^{k+1}的物品,一直做到重量2^k的剩下一个或零个。如果剩一个我们再考虑加入一个重量2^k价值为0的物品,让剩的那个也可以合上去,这样直接看重量2^M中,价值最大的那个物品就好。因为可以证明在每个重量最多加入一个价值为0的东西时,用最优解选完选到一些价值为0的东西并不会影响答案一份有点慢的AC code
https://goo.gl/fBCRZC
楼主:
fatcat8127
(胖胖猫)
2019-02-28 01:52:00
感谢大大的说明和程式码根据我自己的理解和今天讨论区的回复,解法就是建立Binominal Heap的过程吗
继续阅读
[问题] 快速球协变换
j0958322080
[问题] 请教 zerojudge c260 的想法 (已解决)
vincent97198
[问题] UVA 10268 WA
BrunoBao
[问题] cascade如何分?
g318
[问题] LC 505 the maze ii 时间复杂度估算
sean72
Re: [问题] Paper Assignment Problem
FRAXIS
[问题] Paper Assignment Problem
FRAXIS
[问题] minimum cost problem & DAG graph short
tzuchun42
[问题] 如何直接判断浮点数运算时的误差?(赠P币)
baobao566
[问题] 最长的连续假期
stdlib
Links
booklink
Contact Us: admin [ a t ] ucptt.com