摘要: 这题做了将近一个月,断断续续的看背包问题,今天总于一口气把背包九讲中的前三讲看完了。这个一个很典型的多重背包问题:第i件物品有n[i]种,所占的容量权值分别是c[i],w[i]。求最大容量为V时所得到的最大权值。按照背包九讲的讲解,可以利用二进制思想,把n[i]个物品分成若干件物品,其中每件物品有一个系数,这件物品的费用和价值均是原来的费用和价值乘以这个系数。使这些系数分别为1,2,4,...,2^(k-1),n[i]-2^k+1,且k是满足n[i]-2^k+1>0的最大整数。例如,如果n[i]为13,就将这种物品分成系数分别为1,2,4,6的四件物品。(1.....n[i]中的任意一个 阅读全文
posted @ 2011-08-31 13:52 AC_Von 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 1. 背包问题介绍背包问题不单单是一个简单的算法问题,它本质上代表了一大类问题,这类问题实际上是01线性规划问题,其约束条件和目标函数如下:自从dd_engi在2007年推出《背包问题九讲》之后,背包问题的主要精髓基本已道尽。本文没有尝试对背包问题的本质进行扩展或深入挖掘,而只是从有限的理解(这里指对《背包问题九讲》的理解)出发,帮助读者更快地学习《背包问题九讲》中的提到的各种背包问题的主要算法思想,并通过实例解释了相应的算法,同时给出了几个背包问题的经典应用。2. 背包问题及应用dd_engi在《背包问题九讲》中主要提到四种背包问题,分别为:01背包问题,完全背包问题,多重背包问题,二维费用 阅读全文
posted @ 2011-08-31 10:41 AC_Von 阅读(583) 评论(0) 推荐(0) 编辑