码迷,mamicode.com
首页 >  
搜索关键字:贪心算法 数列极差    ( 841个结果
五大常用算法之三:贪心算法
一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性...
分类:编程语言   时间:2015-02-05 12:49:21    阅读次数:255
贪心法基础题目 HDU
HDU2037:链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037题解: 贪心算法:在对问题求解时,总是作出在当前看来是最好的选择。也就是说,不从整体上加以考虑,它所作出的仅仅是在某种意义上的局部最优解(是否是全局最优,需要证明)。若要用贪心算法求解某...
分类:其他好文   时间:2015-02-05 00:41:55    阅读次数:241
ZOJ 1409 Communication System
这题用的是贪心算法,不过在贪心之前还是要进行部分处理的。 首先就是题目要求B/P尽可能的大,所以P应该尽可能的小,B应该尽可能的大。但是B和P的处理方式是不一样的,B是所有带宽中最小的那一个,P是所有设备的总价钱,所以我能想到一个方法就是一个一个的枚举B,本来我是不敢这样想的,可是题目给的时间比较长,我觉得应该问题不大,当我运行之后,竟然只是0ms,让我吃了一惊。然后再选择设备,这时候就要用到贪...
分类:其他好文   时间:2015-02-04 09:31:34    阅读次数:160
HDU 1338 Game Prediction
这题我用的是贪心算法,我的理解是这样的: 要求我最少能赢的次数,就是求别人最多能赢的次数。首先把我的牌先升序排序,然后我从小开始出,对于我出的牌,别人应该尽可能的压,而且用他们比我大的最小的那张牌;如果他们不压,那么他们后面这张牌就很有可能用不上,就少赢一次。 #include #include #include #include #include #include using namespa...
分类:其他好文   时间:2015-02-03 23:05:04    阅读次数:163
POJ 2231 Moo Volume
这题用的是贪心算法来算的,贪心策略如下: dist数组表示各个牛的位置距第一个牛的距离,当然之前要对牛的位置进行升序排序。 设a为第一头牛距各头牛的距离的总和,然后从第二头牛开始遍历,假设遍历到第i头牛时,那么标准为: t=t-(n-i)*d+i*d, 各变量的含义为:t一开始为a,然后每次就是该表达式运算之后的值; n为牛的总数; d为第i头牛和第i-1头牛之间的距离。这个公式画图其...
分类:其他好文   时间:2015-02-02 23:09:57    阅读次数:153
HDU 1051 Wooden Sticks
这题就是贪心算法,先对length升序排列,如果length相等,再按weight升序排列;反之亦可。然后根据题目要求进行选择即可。 不过我在写排序函数的时候出了一点问题,害得我还一度以为我的贪心策略是错的。 #include #include #include #include #include #include using namespace std; const int N=5005; ...
分类:其他好文   时间:2015-02-02 21:31:16    阅读次数:124
【算法导论】贪心算法之赫夫曼编码
概述                  讨论赫夫曼编码问题,赫夫曼编码的思想就是变长编码。变长编码就是让字符表中出现概率高的字符的编码长度尽可能小,而出现概率高的字符的编码长度相对较长。然后还要遵循前缀码的要求,就是任意一个编码都不是其他编码的前缀码,这样方便解码。         对于...
分类:编程语言   时间:2015-02-01 17:51:44    阅读次数:257
Prim 最小生成树算法
Prim 算法是一种解决最小生成树问题(Minimum Spanning Tree)的算法。和 Kruskal 算法类似,Prim 算法的设计也是基于贪心算法(Greedy algorithm)。Prim 算法的思想很简单,一棵生成树必须连接所有的顶点,而要保持最小权重则每次选择邻接的边时要选择较小...
分类:编程语言   时间:2015-01-31 10:34:32    阅读次数:299
【算法导论】0-1背包问题
0-1背包问题描述: 已知:小偷在店里偷东西,小偷只带了一个最大承重为W的背包,商店里有N件商品,第i件商品的重量是weight[i],价钱是value[i]。 限制:每种商品只有一件,可以选择拿或者不拿,不能分割,不能只拿一件商品的一部分(所以叫做0-1,0即不拿,1则整个拿走,且一种商品有且只有一件可供拿走) 问题:在不超过背包最大承重的情况下,最多能拿走多少钱的商品...
分类:编程语言   时间:2015-01-30 22:43:45    阅读次数:296
【算法导论】用动态规划解活动选择问题
上一篇讲了贪心算法来解活动选择问题(【算法导论】贪心算法之活动选择问题),发现后面有一道练习16.1-1是要用动态规划来解活动选择问题。其实跟之前的矩阵链乘法有些相似,也是考虑分割的活动是哪一个,并用二维数据来记录Sij---最大兼容集合个数,和用另一个二维数据来记录Sij取得最大时的活动分割点k。然后就是考虑边界问题,和使用递归来求动态规划的最优解。 #i...
分类:编程语言   时间:2015-01-28 22:36:17    阅读次数:408
841条   上一页 1 ... 68 69 70 71 72 ... 85 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!