0-1背包问题:
有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。
这个问题的特点是:每种物品只有一件,可以选择放或者不放。
算法基本思想:
0-1背包是经典的动态规划问题。利用动态规划思想 ,子问题为:f[i][c]表示前i件物品恰放入一个容量为c的背包可以获得的最大价值。...
分类:
其他好文 时间:
2014-11-06 20:10:43
阅读次数:
150
动态规划0-1背包问题Ø 问题描写叙述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应怎样选择装入背包的物品,使得装入背包中物品的总价值最大?Ø 对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态能够取0和1.我们设物品i的装入状态为xi,xi∈ (0....
分类:
其他好文 时间:
2014-11-04 12:30:01
阅读次数:
105
01背包问题详解
题目
有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。
基本思路
这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。
用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:
f[i][v]=max{f[i-...
分类:
其他好文 时间:
2014-11-03 22:37:41
阅读次数:
195
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:
其他好文 时间:
2014-11-03 14:33:31
阅读次数:
186
为方便起见,将Bellman-ford队列优化称为SPFA,= =抓住 ZMF (ZMF.pas/c/cpp)题目描述话说这又是一个伸手不见五指的夜晚,为了机房的电子竞技事业永远孜孜不倦的 ZMF 小朋友躲在一个阴暗的角落(毫无疑问又搞起了)。当然,另一个神龙见首不见尾的黑影也偷偷地出现在了后门……...
分类:
其他好文 时间:
2014-11-01 01:02:37
阅读次数:
305
题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=106背包问题时间限制:3000ms | 内存限制:65535KB难度:3描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(13#include4#inc...
分类:
其他好文 时间:
2014-10-29 21:02:38
阅读次数:
138
POJ 2392 Space Elevator(贪心+多重背包)
http://poj.org/problem?id=2392
题意:
题意:给定n种积木,每种积木都有一个高度h[i],一个数量num[i],还有一个限制条件,这个积木所在的位置不能高于limit[i],问能叠起的最大高度?
分析:
本题是一道多重背包问题, 不过每个物品的选择不仅仅要受该种物品的数量num[i]限制, 且该物品还受到limit[i]的限制.
这里有一个贪心的结论:
我们每次背包选取物...
分类:
其他好文 时间:
2014-10-29 17:12:29
阅读次数:
176
POJ 1276 Cash Machine(多重背包)
http://poj.org/problem?id=1276
题意:
有n种货币, 其面值和数量分别为val[i]和num[i]. 现在给出一个m值, 问你由上面的货币能构成的最大的且不超过m的金额是多少?
分析:
明显的多重背包问题.
令dp[i][j]==x表示用前i种货币能构成的<=j面值的金钱的最大值为x.
初始化: dp为全0.
我们对第i种物品进行分情况处理:
...
分类:
系统相关 时间:
2014-10-29 17:07:45
阅读次数:
274