【动态规划】【01背包】19下

//01背包,v[]价值,w[]重量
//T背包容量,i个物品,j背包容量
//c[i][j]i个物品,j个背包容量的最大价值 

#include 
#include 

#define N 6
#define maxT 1000

int c[N][maxT]={0};		//初始价值为0

int Calculate_Max_Value(int v[N],int w[N],int i,int j); 

int Memoized_Knapsack(int v[N],int w[N],int T){		//v价值,w重量,T背包容量 
	int i;
	int j;
	for(i=0;i=w[i]){								//背包容量比第i个物品的重量大,可以选第i个 
			temp=v[i]+Calculate_Max_Value(v,w,i-1,j-w[i]);	//选第i个物品最大价值
			if(c[i][j]

【动态规划】【01背包】19下_第1张图片

 

你可能感兴趣的:(软件设计师,动态规划,算法,c++)