摘要: 【转】01背包问题动态规划详解转载自sunstar1989最终编辑中华复生母动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。因为背包最大容量M未知。所以,我们的程序要从1到M一个一个的试。比如,开始任选N件物品的一个。看对应M的背包,能不能放进去,如果能放进去,并且还有多的空间,则,多出来的空间里能放N-1物品中的最大价值。怎么能保证总选择是最大价值呢?看下表。测试数据:10,33,44,55,6c[i][j]数组保存了1,2,3号物品依次选择后的最大价值.这个最大价值是怎么得来的呢?从背包容量为0开始,1号物品先试,0,1 阅读全文
posted @ 2012-08-11 18:37 琳&leen 阅读(542) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<math.h> 4 #include<cstring> 5 #define INF 0x3f3f3f 6 struct node 7 { 8 double x,y,z,r; 9 }ht[105];10 double h[105][105];11 void prim(int n)12 {13 int vis[105];14 int pos,i,j;15 double min;16 double tr[105];17 memse. 阅读全文
posted @ 2012-08-11 17:10 琳&leen 阅读(124) 评论(0) 推荐(0) 编辑