码迷,mamicode.com
首页 >  
搜索关键字:背包问题    ( 1524个结果
hdu1712 分组背包问题
问题 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 算法 这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选。也就是说设f[k][v]表示前k组物品花费费用v能取得的最大权值,则有: f[k][v]=max...
分类:其他好文   时间:2014-12-20 15:37:21    阅读次数:132
01背包问题学习练习
这是我写的第一个用动态规划写的01背包,点个赞。呵呵,题目描述就不说了,你懂的。。。直接上代码。。。。#includestruct item{ int value;//物品的质量 int weigh;//物品的重量};int main(){ int item_N;//物品种类 ...
分类:其他好文   时间:2014-12-19 18:42:59    阅读次数:263
uva--624Word Amalgamation+dp
其实就是0 1背包问题,不过还要输出路径。对于路径输出,我们可以记录在装容量为v的背包时,物品i有没有使用。然后最后从最大容量和最大物品编号往回推即可。 代码如下: #include #include #include using namespace std; int dp[10010],g[50][10100]; int main() { int V; w...
分类:其他好文   时间:2014-12-19 13:06:44    阅读次数:166
uva--562Dividing coins +dp
题意:     给定一堆硬币,然后将他们分成两部分,使得两部分的差值最小;输出这个最小的差值。 思路:    想了好久都没想到一个合适的状态转移方程。后面看了别人的题解后,才知道可以转成背包问题求解。 我们将所有的硬币和的一半作为背包容量,然后将硬币的代价看成其本身的面值。然后背包中能装的最大容量 就是其中一个人分得硬币数。 代码如下: #include #inclu...
分类:其他好文   时间:2014-12-18 00:19:24    阅读次数:163
poj 1112 Team Them Up! 二分图染色+dp
题意: 给n个人和一些认识关系,要将这n个人分成两队,每队的人之间都互相认识,求一种方案使两队的人数差最小。 分析: 对原图求逆得到新图g,g中如果有边(a,b),那么a,b不能在一个队,对新图进行二分图染色就能求得一种方案了。但题目要使人数差最小,所以还要dp一下。dp[i][j]表示前i个连通分量获得j个人的队伍是否可行,这其实是个背包问题,每个物品有多种重量,问是否能获得一个特定的重量...
分类:其他好文   时间:2014-12-17 14:43:23    阅读次数:126
[HDOJ 1171] Big Event in HDU 【完全背包】
题目链接:HDOJ - 1171题目大意有 n 种物品,每种物品有一个大小和数量。要求将所有的物品分成两部分,使两部分的总大小尽量接近。题目分析令 Sum 为所有物品的大小总和。那么就是用给定的物品做完全背包,背包容量为 (Sum / 2) ,得到的结果是较小的一部分的大小。完全背包问题可以使用单调...
分类:其他好文   时间:2014-12-16 22:25:42    阅读次数:177
01背包
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最...
分类:其他好文   时间:2014-12-15 21:45:17    阅读次数:145
经典算法之动态规划
动态规划让我纠结了好一阵子,背包问题让我觉得不知道怎么入手,到处搜索都是一条条的公式,晦涩难懂。偶然间发现了一个博客写的动态规划解释非常的好,虽然还没完全随心所用,但是总算是入门了,下列内容为转载,附上原地址:http://www.cnblogs.com/sdjl/articles/1274312....
分类:编程语言   时间:2014-12-15 00:05:40    阅读次数:305
HDU 2955 Robberies【01背包】
解题思路:给出一个临界概率,在不超过这个概率的条件下,小偷最多能够偷到多少钱。因为对于每一个银行都只有偷与不偷两种选择,所以是01背包问题。这里有一个小的转化,即为f[v]代表包内的钱数为v的时候,小偷不被逮捕的概率,这样我们在用for(i=1;i=0;v--)f[v]=max(f[v],f[v-c...
分类:其他好文   时间:2014-12-13 06:06:08    阅读次数:223
动态规划三:0-1背包问题
1.问题描述: 一定的物体和一背包,物体i的重量为wi价值为vi,背包的容量为c,求解怎样放使背包的价值最大?则问题可描述为: 2.问题分析: 1)最优子结构: 其中j=c-wiyi 2)递归关系:设最优值为m(i,j),j表示最优容量,i表示可选物品,由最优子结构性质可建...
分类:其他好文   时间:2014-12-12 20:49:29    阅读次数:186
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!