贪心算法(greedy algorithm)是指,在每一步都做出当时看起来最佳的选择,也就是局部最优的选择,期望这样的选择能够导向全局最优解。所以并不是所有的问题都能得到全局最优解。 典型的例子如分数背包问题:背包容量为50kg,有三个商品分别是重60元/10kg、100元/20kg、120元/30 ...
分类:
编程语言 时间:
2018-07-31 19:30:56
阅读次数:
194
题目大意:
一直老鼠想吃咖啡豆,这些咖啡豆由一只猫来看守,它需要用它有的猫粮来换。
读入两个整数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
#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