#includestruct A{ double w; double v; double xingjiabi;}a[100],p;void QuickSort(A a[],int numsize){ int i=0,j=numsize-1; A p=a[0]; i...
分类:
其他好文 时间:
2014-06-27 18:42:06
阅读次数:
190
动态规划0-1背包问题Ø 问题描写叙述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应怎样选择装入背包的物品,使得装入背包中物品的总价值最大?Ø 对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态能够取0和1.我们设物品i的装入状态为xi,xi∈ (0....
分类:
其他好文 时间:
2014-06-26 17:23:41
阅读次数:
251
问题: 有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本算法: 这题目和全然背包问题非常类似。主要的方程仅仅需将全然背包问题的方程稍微一改就可以,由于对于第i种物品有n...
分类:
其他好文 时间:
2014-06-25 22:02:02
阅读次数:
234
问题:
假设有n个物品,每个物品都是有重量的,同时每个物品也是有价值的,要求把这些物品放到一个背包中,这个背包的载重量是有限制的,怎么使得背包里面的物品总价值最大?
符号表示:
N:物品个数
W:背包载重量
w[i]:物品i的重量(1
v[i]:物品i的价值(1
c[i, j]:到物品i为止,背包重量限制为j的最优解(1
分析:
最优解结构:对于物品i,只...
分类:
其他好文 时间:
2014-06-25 08:38:29
阅读次数:
259
当所给问题是从n个元素的集合S中找出满足某种性质的子集时,解空间为子集树。例如:0-1背包问题当所给问题是从n个元素的集合S中找出满足某种性质的排列时,解空间为排列树。例如:旅行售货员问题回溯法搜索子集树算法描述为:void backtrack(int t){ if(t>n) output...
分类:
其他好文 时间:
2014-06-24 21:47:06
阅读次数:
221
题目:
有n件物品和一个容量为C的背包。(每种物品均只有一件)第i件物品的体积是v[i],重量是w[i]。选一些物品装到这个背包中,使得背包内物品在总体积不超过C的前提下重量尽量大。
解法:两种思路:
第一种:d(i, j)表示“把第i,i+1,i+2,...n个物品装到容量为j的背包中的接下来的最大总重量”。
d(i, j) = max{d(i+1, j), ...
分类:
其他好文 时间:
2014-06-22 19:49:37
阅读次数:
137