码迷,mamicode.com
首页 >  
搜索关键字:背包问题    ( 1524个结果
hdu 1203 I NEED A OFFER!
不懂得见算法背包问题详解 代码如下: #include struct node { int cost; double wei; } a[10004]; double min(double a,double b) { return a>b? b:a;} int main() { int i,j,n,m; double dp[10004]; whil...
分类:其他好文   时间:2014-07-24 17:44:25    阅读次数:235
01背包问题(空间优化)经典代码
题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方...
分类:其他好文   时间:2014-07-23 14:59:46    阅读次数:318
通过金矿模型介绍动态规划
对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你...
分类:其他好文   时间:2014-07-23 14:57:26    阅读次数:208
HDU 4815 Little Tiger vs. Deep Monkey 背包问题
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意:很“内涵”的一个题面,题意是给出N道题,和一个概率P,然后给出每道题对应的得分aa[i](每道题只有两个选项,一个正确一个错误)。两个人来答题,一个人是随机选择答案,问另一个人至少要答多少分才能保证有P的概率不会失败。 思路:是一道DP题,最开始想强行枚举所有情况,找到需要分数,后来发现4...
分类:其他好文   时间:2014-07-22 14:26:12    阅读次数:227
01背包【模板】
01背包是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即F[i,v] 表示前i 件物品恰放入一个容量为v 的背包可以获得的最大价值。则其状态转移方程便是: F[i,v]=max(F[i,v],F[i-1,v-w[i]]+v[i]) 这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i 件物品放入容量为v ...
分类:其他好文   时间:2014-07-22 14:19:44    阅读次数:170
POJ 1276 Cash Machine
题意:给你一个给定的现金数量goal,还有你拥有的n种面值的现金。 接下来就是n种面值的现金你各拥有多少张。要你求出不超过给定goal的能用你手上拥有现金凑成的最大值! 思路:多重背包问题,状态方程dp(i,v)=max(dp(i,j),dp(i-1,v-kci)+kwi); 优化后AC代码: #include #include struct p { int n; ...
分类:其他好文   时间:2014-07-22 00:09:34    阅读次数:194
动态规划第二讲——完全背包与多重背包问题
上一节,我们讨论了01背包问题,说明了*递归与分治法 与 动态规划DP的区别和联系,介绍了缓存的概念*。以下,我们用DC、DP、cache分别表示分治法、动态规划和缓存。本节,我们讨论01背包的另外两种形似—— 完全背包和多重背包问题,分析DP问题的另外一些情况。 例一:完全背包问题 同样有n种价值和重量分别为weight[i] and value[i], 背包大小W。限制条...
分类:其他好文   时间:2014-07-21 15:18:15    阅读次数:295
背包问题九讲笔记_01背包(转)
http://blog.csdn.net/insistgogo/article/details/8579597背包问题九讲笔记_01背包分类:算法导论2013-02-13 09:171752人阅读评论(4)收藏举报摘自Tianyi Cui童鞋的《背包问题九讲》,稍作修改,方便理解。01背包问题描述已...
分类:其他好文   时间:2014-07-21 00:28:01    阅读次数:292
[再做01背包] POJ 3624 Charm Bracelet
接触动态规划的第一题是数塔问题,第二题就是01背包问题了。当时看的懵懵懂懂,回过头来再看这道题还是非常简单的了。用 dp[i][j] 表示取前i种物品,使它们总体积不超过j的最优取法取得的价值总和状态转移方程:dp[i][j] = max(dp[i-1][j],dp[i-1][j-cost[i]]+...
分类:其他好文   时间:2014-07-18 19:00:42    阅读次数:266
HDU 2639 Bone Collector II(01背包变型)
此题就是在01背包问题的基础上求所能获得的第K大的价值。 具体做法是加一维去推当前背包容量第0到K个价值,而这些价值则是由dp[j-w[ i ] ][0到k]和dp[ j ][0到k]得到的,其实就是2个数组合并之后排序,但是实际做法最好不要怎么做,因为你不知道总共有多少种,而我们最多只需要前K个大的就行了(因为可能2个数组加起来的组合数达不到K个),如果全部加起来数组开多大不清楚,所以可以选用...
分类:其他好文   时间:2014-07-18 18:14:27    阅读次数:224
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!