摘要:
#include <cstdlib>#include <iostream>using namespace std;template<typename T>class Heap//最大堆{private: int currentSize; int maxSize; T *heapArray; public: Heap(int size = 10) { currentSize = 0; maxSize = size; //初始化堆容量 heapArray = new T[maxSize]; //创建堆... 阅读全文
posted @ 2012-10-22 14:25
翛尧
阅读(308)
评论(0)
推荐(0)
摘要:
从给定的N个正数中选取若干个数之和最接近M阶段是:在前N件物品中,选取若干件物品放入背包中; 状态是:在前N件物品中,选取若干件物品放入所剩空间为W的背包中的所能获得的最大价值; 决策是:第N件物品放或者不放; 由此可以写出动态转移方程: 我们用f[i,j]表示在前 i 件物品中选择若干件放在所剩空间为 j 的背包里所能获得的最大价值 f[i,j]=max{f[i-1,j-Wi]+Pi (j>=Wi), f[i-1,j]} 这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i件物品放入容量为v的背包中”这个子问题,若只考虑... 阅读全文
posted @ 2012-10-22 10:49
翛尧
阅读(238)
评论(0)
推荐(0)

浙公网安备 33010602011771号