一、什么是01背包 01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2至Wn,与之相对应的价值为P1,P2至Pn。01背包是背包问题中最简单的问题。01背包的约束条件是给定几种物品,每种物品有且只有一个,并且有权值和体积两个属性。在01背包问题中,因为每种物品只有一个,对 ...
分类:
编程语言 时间:
2017-10-03 15:56:29
阅读次数:
355
背包问题OJ地址:http://oj.noi.cn/oj/#main/show/1159 1159. 背包问题一 (Standard IO) 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 题目描述 有个背包可承受重量N,现有T件物品每件物品重量为Wi,价值为Vi ,每件物品只 ...
分类:
其他好文 时间:
2017-10-02 19:20:22
阅读次数:
217
//背包问题:有m件物品和一个承重为t的背包。第i件物品的重量是w[i],价值是v[i]。 //求解将哪些物品装入背包可使这些物品的重量总和不超过背包承重量t,且价值总和最大。 #include <stdio.h> #include <conio.h> #include <string.h> int ...
分类:
其他好文 时间:
2017-10-02 18:51:54
阅读次数:
209
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3631 题意:集训队集训N天,每天都要花钱吃饭,第i天花费vi的钱(可以报销或自己花钱),一共能报销M元,问最多能报销多少。 题解:一看就是一个01背包问题,但是题目 ...
分类:
其他好文 时间:
2017-10-02 16:44:22
阅读次数:
236
1.poj 1742 Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony opened his money-box and f ...
分类:
其他好文 时间:
2017-10-01 19:57:55
阅读次数:
176
本文通过一道01背包问题的变种介绍了折半枚举的思想和实现思路,并顺便介绍了另一种01背包变种的求解方法。 ...
分类:
其他好文 时间:
2017-09-30 22:50:48
阅读次数:
302
链接 分析:来看看背包九讲里面的一段话: 对于一个给定了背包容量、物品费用、物品间相互关系(分组、依赖等) 的背包问题,除了再给定每个物品的价值后求可得到的最大价值外,还可以得 到装满背包或将背包装至某一指定容量的方案总数。对于这类改变问法的问题,一般只需将状态转移方程中的max改成sum即可。例如 ...
分类:
其他好文 时间:
2017-09-30 10:15:34
阅读次数:
161
背包问题无疑是最经典的dp问题,其次就是关于字符串匹配问题,数组最长递增(减)序列长度等等。背包问题变体很多。 动态规划问题实际上与备忘录式深搜有些类似。 1. 0-1背包 题目: 有n个重量和价值分别为wi, vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。 ...
分类:
其他好文 时间:
2017-09-29 00:31:41
阅读次数:
116
链接 分析:dp[i][j]表示前i个数,组成j,最少需要多少个。dp[i][j]=min(dp[i-1][j],dp[i-1][j-k*v[i]]+k),则可以转化为完全背包问题,同样的方法进行降维处理即可。 1 #include "iostream" 2 #include "cstdio" 3 ...
分类:
其他好文 时间:
2017-09-25 23:01:37
阅读次数:
336
背包型dp,但是没有看清数据范围差点认为是水题了,(然后诡异的拿了20分)标解是:2进制优化,比较简单把每一类物品看做若干个相互独立的物品,放在一个另外的数组里,然后全局跑一边01就可以。主要思想是:将一种物品分成1、2、3..一份,然后跑01(01的复杂度低啊!)如果难以理解的话不妨举个例子:如2 ...
分类:
其他好文 时间:
2017-09-25 17:27:08
阅读次数:
166