----背包动规
文章平均质量分 69
judyge
学习好 能力强。
展开
-
UVa 10359 - Tiling
题目:给你一个2*n的地面,用1*2和2*2的地板砖铺满,有多少种不同方案。分析:组合数学,动态规划。直接找到地推关系求解。 因为,只可能是最后一列是一个整体(1种情况)或者最后两列是一个整体(两种情况); 所以,有递推公式:f(n)= f(n-1)+ 2*f(n-2); 可以使用动态规划或母函数(a转载 2015-04-17 07:28:50 · 442 阅读 · 0 评论 -
背包问题九讲 v1.0
背包问题九讲 v1.0目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物品 第九讲 背包问题问法的变化 附:USACO中的背包问题 前言本篇文章是我(dd_转载 2015-05-08 13:21:09 · 480 阅读 · 0 评论 -
01背包经典
//============================================================================// Name : 01packge.cpp// Author : judyge// Version :// Copyright : Your copyright notice// Descript原创 2015-05-08 20:08:55 · 378 阅读 · 0 评论 -
HDU 1248 寒冰王座
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1248 这道题其实就是一道完全背包的问题,告诉你三种面值的钱都是无数张,符合完全背包的条件。刚开始的时候我就知道套模板了,完全没理清自己的思路,最后运行的时候发现答案是错的,之后检查了一下,也没发现错误,知道看到答案,才知道原来还有一个判断的条件,最后加上去就对了。。。。。。原创 2015-05-09 08:11:16 · 388 阅读 · 0 评论 -
HDU 2602 Bone Collector
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 用二维数组做的。。。。该题是一道背包题,并且是一个0,1背包,这种背包特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[原创 2015-05-09 08:14:11 · 361 阅读 · 0 评论 -
HDU 2191
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 代码写的很乱,根据题目的意思,这个一道多重背包的问题,转换成0-1背包,就是在0-1背包的基础上面再加一层for循环、、、、#include using namespace std;int max(int a, int b){ if(a>b)转载 2015-05-09 08:14:42 · 413 阅读 · 0 评论 -
背包问题教程-01背包,完全背包,多重背包,混合背包 收藏
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1转载 2015-05-10 15:31:38 · 440 阅读 · 0 评论 -
自顶向下 与自底向上解决01 背包问题
01背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大? 这个问题有两种解法,动态规划和贪婪算法。本文仅涉及动态规划。 先不套用动态规划的具体定义,试着想,碰见这种题目,怎么解决? 首原创 2015-05-06 14:46:54 · 3817 阅读 · 0 评论