贪心
兜率工
XJTU 硕士研究生在读
展开
-
活动安排问题
//贪心算法 --活动安排问题。 #include <iostream> #include <algorithm> #include <stdio.h> using namespace std; struct node { int s; int f; }w[20]; bool cmp(const node& a,const nod...原创 2018-04-16 14:59:58 · 453 阅读 · 0 评论 -
HDU 6438 Buy and Resell 优先队列+贪心
题意: 商人在城市之间进行低买高卖来赚取差价(只能从前往后) 分析: 因为要赚取的利润最大,所以刚开始不买入,直接卖出,但是优先队列里面存上两个一样的值,方便后面进行。 假设当前值是x,优先队列存两个-x,对应1表示买入,2表示卖出(其实是抵消前面产生的影响)。因为a买入b卖出,b买入c卖出就相当与a买入c卖出,这样才能取得最优解嘛。2代表的x一方面其实就相当于是抵消产生的影响。 #i...原创 2019-03-09 14:00:18 · 123 阅读 · 0 评论 -
区间调度问题
结束时间越早之后可选的工作也就越多。这是该算法能够正确处理问题的一个直观解释。但是,这不能算是与严格意义上的证明,。我们可以按照下面的方式来证明。 (1)与其它选择方案相比,该算法的选择方案在选取了相同数量的更早时间的工作时,其最终结束时间不会比其它方案更晚。 (2)所以,不存在选取更多工作的选择方案。 #include<bits/stdc++.h> using name...原创 2018-08-29 14:51:52 · 604 阅读 · 1 评论 -
POJ 1505 (贪心+二分)
这种题,一看就是二分,他要让前面最小,那就从后往前划分. 关键是二分还得分好多种。推荐博客 #include<bits/stdc++.h> using namespace std; int n,m,a[510]; long long sum; bool flag[510]; void init(){ sum=0; scanf("%d%d",&n,&a...原创 2018-08-17 16:27:12 · 640 阅读 · 0 评论 -
UVA 10026 (贪心)
要做n双鞋子,第 i 双鞋子要做Ti天,每天消耗Si的钱(当前正在做第 i 双鞋子时不耗钱)。求在最少消耗钱的情况下做鞋子的顺序。 对于鞋子a,b来说,如果是a,b顺序,则花费的价钱就是Ta*Sa+Tb*Sb+Ta*Sb; 如果是b,a顺序,则花费的价钱就是Tb*Sb+Ta*Sa+Tb*Sa; 可以发现其实差别就在后面那块。 ...原创 2018-08-17 10:32:28 · 211 阅读 · 0 评论 -
hdu 6237 A Simple Stone Game (求素因子+贪心)
因为要计算最小移动次数,所以可以考虑贪心进行计算,同时可以看出的是x是a中所有元素的因子,考虑这点进行计算,因为要将所有数凑成有公因子x,所以考虑对sum进行素因子分解进行计算,因为x一定能分解成素因子,将a中每一个元素对素因子取模,计算移动次数,从大到小采用贪心的计算方法。 #include<cstdio> #include<algorithm> #include&l...原创 2018-07-30 19:31:17 · 166 阅读 · 0 评论 -
C. Liebig's Barrels( Educational Codeforces Round 44 (Rated for Div. 2))
题目链接 刚开始想的有点复杂,一直wa了,最后看了大佬们的题解,才恍然大悟,原来就是一道贪心,硬生生做成模拟了,还写的特别麻烦,半天想不出来,最后写出来还是错的,以后遇到这种情况,就得换个思路重新思考,不能一根筋走到黑,到头来还是一场空。 解决本题的思路: 从后往前进行计算,因为要计算最大的容积,所以采用排序后从后往前计算,加上限制条件,从而进行判断。 //贪心。 #include...原创 2018-05-22 01:38:10 · 280 阅读 · 0 评论 -
多机调度问题(贪心)
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; struct node { int time; int index; }a[10]; bool cmp(node a,node b) { return a.time>b...原创 2018-04-20 21:58:43 · 1579 阅读 · 0 评论 -
Huffman coding —— 贪心+优先队列
优先队列重载的用法 #include <iostream> #include <algorithm> #include <stdio.h> #include<string.h> #include<cmath> #include<stack> #include<queue> using namespace std原创 2018-04-18 15:26:15 · 196 阅读 · 0 评论 -
HDU 6709 Fishing Master (贪心)
题意: 有n条鱼,每条鱼要煮相应的时间才能吃,捕一条鱼的时间是相同的,在捕鱼的时间内不能做其他事,可以捕多条鱼,求把所有的鱼都煮熟需要多少时间。 分析: 抓第一条鱼的耗时是无法避免的,抓鱼应该从烹饪时间最长的开始抓起,这样才可以用烹饪时间去抓更多的鱼,而剩下的不够抓一条鱼的烹饪时间应该存下来,后面在抓鱼的时候从这些时间中选出最大的x,抓鱼的时间会和烹饪的时间重合最多,这样可以使时间(k-x)...原创 2019-08-23 20:32:40 · 309 阅读 · 0 评论