类别:1)0-1背包;2)分数背包 0-1背包使用贪心算法无法获得最优解 分数背包代码如下: def fractional_package(goods, w): """ :param data: [(价值,重量),...] :param w: 要拿取的总重量 :return:(拿走的数量,拿走的总价 ...
分类:
编程语言 时间:
2021-04-20 14:28:39
阅读次数:
0
贪心:分数背包,课程安排 动态规划:01背包 具有贪心选择性的一类问题是:每次做选择时只有性能不同,而代价是一样的(或代价不同,性能一样)。那么这样每次的选择都是最好的,最终会得到最好的结果。 而动态规划性能和代价均不同。(性能一般指的是题目要求求解的最优值) 分数背包:可以比较单位重量(同代价)的 ...
分类:
其他好文 时间:
2018-12-15 17:15:05
阅读次数:
144
A.部队回收器|| 思路错误 忏悔1:助教不说是分数背包,按照01背包做了10多分钟,耽误时间 ->对判断DP和贪心的判定不好好分析 ->不能根据题目信息及时分析出这个问题到底是DP还是贪心 ->hint中说明这是分数背包 ->题目要求最后输出的结果保留三位小数,如果是背包问题,输入又都是整数,为什 ...
分类:
其他好文 时间:
2018-11-17 17:04:25
阅读次数:
145
贪心算法(greedy algorithm)是指,在每一步都做出当时看起来最佳的选择,也就是局部最优的选择,期望这样的选择能够导向全局最优解。所以并不是所有的问题都能得到全局最优解。 典型的例子如分数背包问题:背包容量为50kg,有三个商品分别是重60元/10kg、100元/20kg、120元/30 ...
分类:
编程语言 时间:
2018-07-31 19:30:56
阅读次数:
194
问题描述:体积分别为10cm3, 50cm3, 80cm3的盒子中装有价值分别为60k, 200k, 240k的珠宝,其中盒子的单位体积为10cm3,也就是说体积为50cm3的盒子中装有5个10cm3的小盒子,80cm3的盒子中装有8个10cm3的小盒子。还有一个最多能装100cm3的箱子,请问如何 ...
分类:
其他好文 时间:
2018-03-18 10:25:53
阅读次数:
115
题目大意:
一直老鼠想吃咖啡豆,这些咖啡豆由一只猫来看守,它需要用它有的猫粮来换。
读入两个整数m,n分别代表老鼠有的猫粮的总数,和放着咖啡豆的房间数。接下来n行,每行两个数j[i],f[i],分别代表这个房间中的总的咖啡豆的数量和需要的猫粮数,求出这时老鼠可获得的最大的猫粮数,知道接收到-1,-1结束处理。
解题思路:
典型的贪心问题...
分类:
其他好文 时间:
2015-08-25 12:03:37
阅读次数:
171
0-1背包问题与分数背包问题
问题描述
问题分析之分数背包
代码设计之分数背包问题
问题分析之0-1背包问题
代码设计之0-1背包问题
动态规划算法之间的差别
0-1背包问题与分数背包问题我们在文章《贪心算法原理》:http://blog.csdn.net/ii1245712564/article/details/45369491中提到过动态规划和贪心算法的区别。以及两个经典的例子:0-1背包问题和...
分类:
其他好文 时间:
2015-04-30 18:18:53
阅读次数:
419
0-1背包问题描述:
已知:小偷在店里偷东西,小偷只带了一个最大承重为W的背包,商店里有N件商品,第i件商品的重量是weight[i],价钱是value[i]。
限制:每种商品只有一件,可以选择拿或者不拿,不能分割,不能只拿一件商品的一部分(所以叫做0-1,0即不拿,1则整个拿走,且一种商品有且只有一件可供拿走)
问题:在不超过背包最大承重的情况下,最多能拿走多少钱的商品...
分类:
编程语言 时间:
2015-01-30 22:43:45
阅读次数:
296
#include
#include
#include
#include
using namespace std;
/*
*分数背包问题(贪心算法)
*/
struct goods
{
double value;//物品的价值
double weight;//物品的重量
double ratio;//物品的性价比
double in;//物品装入背包的重量
int index;/...
分类:
编程语言 时间:
2014-12-05 14:19:24
阅读次数:
508