动态规划的问题
就是对于一个背包装东西的问题,网上说要用动态规划来做。。。。。但是我不是很清楚什么是动态规划,那个大神能给讲讲的呀!我给一个例子吧!求给讲清楚点呀。。。。。。。。#include <stdio.h>
#include <stdlib.h>
#define MAX(A,B) ((A)>(B)?(A):(B))
#define SIZE 5
#define MAXVOL 12
int main(void)
{
int v[SIZE] = {2,3,4,5,6}; // 体积
int p[SIZE] = {1,4,3,6,8}; // 价值
int kp[MAXVOL + 1] = {0}; // 背包
int i,j,max=0;
for (i=0; i<SIZE; ++i) {
for (j=MAXVOL; j>=v[i]; --j) {
kp[j]=MAX(kp[j], kp[j-v[i]] +p[i]);
max=MAX(kp[j], max);
}
}
printf("MAX VALUE: %d\n", max);
system("Pause");
return 0;
}