书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

2011年11月16日

DP(五)——简单的多重背包

摘要: POJ 1014 http://poj.org/problem?id=1014题意是这样的:有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份,是两份的总价值相等,其中一个物品不能切开,只能分给其中的某一方,当输入六个0是(即没有物品了),这程序结束,总物品的总个数不超过20000Sample Input1 0 1 2 0 0 1 0 0 0 1 1 0 0 0 0 0 0 Sample OutputCollection #1:Can't be divided.Collection #2:Can be divided.下面一 阅读全文

posted @ 2011-11-16 21:40 More study needed. 阅读(262) 评论(0) 推荐(0) 编辑

DP(四)——简单的完全背包2

摘要: POJ 1384http://poj.org/problem?id=1384题意:用猪仔钱罐存钱会有一个严重的问题:不能随时知道里面到底有多少钱。但是,我们可以通过称量其重量,来估计一下里面的钱。现假定钱罐里的都是硬币,已知空罐的重量与现在的重量,同时,给定钱罐里可能会有的硬币的面额与重量。问钱罐中至少有多少钱。思路:从钱罐重量差可知硬币的总重量。每种硬币的数量不确定,估计时可当作有可能有无限个,由此可得完全背包模型。求的是能否组合成该重量,组合以后的最小价值。Sample Input310 11021 130 5010 11021 150 301 6210 320 4Sample Outpu 阅读全文

posted @ 2011-11-16 10:43 More study needed. 阅读(200) 评论(0) 推荐(1) 编辑

DP(三)——简单的完全背包

摘要: 完全背包问题的描述:有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。例子如下:30 4100 6250 12120 1035 2解释一下上面的数据:30是背包的容量100 是第一件物品的价值,6是第一件物品的重量。往下类推……View Code #include "iostream"#include "string.h"using namespace std;#define size 10005int f[size];int m 阅读全文

posted @ 2011-11-16 09:58 More study needed. 阅读(229) 评论(0) 推荐(0) 编辑

导航

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!