摘要:
以上涉及的各种背包问题都是要求在背包容量(费用)的限制下求可以取到的最大价值,但背包问题还有很多种灵活的问法,在这里值得提一下。但是我认为,只要深入理解了求背包问题最大价值的方法,即使问法变化了,也是不难想出算法的。 例如,求解最多可以放多少件物品或者最多可以装满多少背包的空间。这都可以根据具体问题 阅读全文
摘要:
以上涉及的各种背包问题都是要求在背包容量(费用)的限制下求可以取到的最大价值,但背包问题还有很多种灵活的问法,在这里值得提一下。但是我认为,只要深入理解了求背包问题最大价值的方法,即使问法变化了,也是不难想出算法的。 例如,求解最多可以放多少件物品或者最多可以装满多少背包的空间。这都可以根据具体问题 阅读全文
摘要:
1. 问题描述 有依赖的背包问题是一种在01背包问题的基础上增加了物品之间的依赖关系的背包问题。也就是说,某些物品必须放在另一些物品之后才能放入背包,或者某些物品只有在另一些物品被放入背包时才能放入背包。 例如,假设有5件物品,每件物品有重量和价值两个属性,还有一个承重为10的背包。物品之间的依赖关 阅读全文
摘要:
动态规划之背包之泛化物品 1. 问题描述: 背包问题是一类经典的动态规划问题,它描述了一个背包有一定的容量,而有若干个物品,每个物品有自己的重量和价值,如何从这些物品中选择一部分放入背包,使得背包内物品的总价值最大。背包问题有很多变种,例如0-1背包、完全背包、多重背包等。 泛化物品是一种扩展了背包 阅读全文
摘要:
USACO是USA Computing Olympiad的简称,它组织了很多面向全球的计算机竞赛活动。 USACO Trainng是一个很适合初学者的题库,我认为它的特色是题目质量高,循序渐进,还配有不错的课文和题目分析。其中关于背包问题的那篇课文 (TEXT Knapsack Problems) 阅读全文
摘要:
《背包问题九讲》的本意是将背包问题作为动态规划问题中的一类进行讲解。但鉴于的确有一些背包问题只能用搜索来解,所以这里也对用搜索解背包问题做简单介绍。大部分以01背包为例,其它的应该可以触类旁通。 简单的深搜 对于01背包问题,简单的深搜的复杂度是O(2^N)。就是枚举出所有2^N种将物品放入背包的方 阅读全文
摘要:
动态规划之 二维费用的背包问题 1. 问题描述 二维费用的背包问题是指对于每件物品,具有两种不同的费用,选择这件物品必须同时付出这两种代价,对于每种代价都有一个可付出的最大值(背包容量),求选择物品可以得到最大的价值。 例如,有一个背包,它的容量为V,它的重量限制为U。有N件物品,第i件物品的体积为 阅读全文
摘要:
1. 问题 背包问题是一类经典的动态规划问题,它描述了一个人在有限的背包容量下,如何选择一些物品装入背包,使得物品的总价值最大。 根据物品的不同特征和限制条件,背包问题可以分为以下三种基本类型: 01背包:每种物品只有一件,可以选择放或不放。 完全背包:每种物品有无限件,可以选择放任意件。 多重背包 阅读全文
|