背包问题
文章平均质量分 83
桐小目
认真生活,认真学习。
展开
-
01背包问题详解
首先非常感谢刘汝佳的小白书、HDU刘春英老师的ACM程序设计背包算法课件以及dd_engi的背包九讲和众多大神的博客,看这么多资料最后花了整整一天时间才算大致弄懂了背包问题的思路(=_=搞这么久我确实有点笨=_=)。OK,接下来就大致讲一下我所理解的背包问题,对这些问题做一下梳理总结,便于以后的复习查阅,如果可以帮到你那就更好了~~ 背包问题是动态规划(dp)的一种,但是它的解法相对来说比较原创 2016-01-25 13:53:03 · 6366 阅读 · 2 评论 -
完全背包
完全背包的基本模型和01背包的差不多,只是从每件物品只有一个换成了每件物品有无限多个。首先我们就想到了可以把它转化为01背包的问题来做啊,我们只需要把每一类物品拆分成v/volume[i]个物品,然后把它们当成01背包的问题来解决就行了,这是显而易见的思路,那就看看代码怎么实现吧,以杭电1114为例:HDU-1114 PiggyBank题目链接:http://acm.hdu.edu.c原创 2016-01-25 18:21:53 · 388 阅读 · 0 评论 -
多重背包问题
多重背包和01背包与完全背包类似,只是它给每个物品规定了一个件数,不是01背包的没件物品只有一个,也不是每件物品有无限个,而是有限定个数的。 类似于完全背包,我们很自然地想到把它转化为01背包的问题来处理,有多少件限制就把它当成几件来处理,同样拿一道题来理解:HDU-2191题目链接:ht原创 2016-01-25 19:41:41 · 511 阅读 · 0 评论 -
背包问题的二进制优化
关于二进制优化这一点,它为什么正确,为什么合理,凭什么可以这样分,至少我是花了很久很久才理解的,先拿一道题来说吧。HDU 2844 Coins题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844题目:CoinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit原创 2016-01-25 19:45:49 · 11893 阅读 · 7 评论 -
HDU-2159 FATE(二维费用背包问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159题目:FATETime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10499 Accepted Submissi原创 2016-01-26 17:17:46 · 1055 阅读 · 0 评论 -
HDU-1712 ACBoy needs your help (分组背包问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712题目:ACboy needs your helpTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5653 A原创 2016-01-26 18:29:39 · 581 阅读 · 0 评论 -
背包问题标准模板
背包问题很多都可以转化为基本的01背包或者完全背包来解决,所以在弄懂之后写一套背包问题的模板备用也是十分有必要的~这是我写的模板,当遇到具体问题还需要具体对待,比如果什么是“价值”什么是“重量”什么是“容量”,不同问题不一样的,有些问题还需要做出不少改动,相信如果你弄懂背包问题的话这些都不是什么问题,废话不多说,上代码。/* 01背包,完全背包,多重背包模板 C++ 作者:桐小目 时间:原创 2016-01-28 15:01:49 · 651 阅读 · 0 评论