
贪心算法
文章平均质量分 63
BRCOCOLI
初学者 记录成长 Fighting
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA 11134 Fabled Rooks(贪心法,区间与选点问题)
x轴,y轴不相关,所以分开考虑贪心法 可以这样思考不同于定区间选点,而是定点选区间,所以理所当然,那个点重合的区间要尽可能少,所以要选占用1~col最多位置的区间,且尽可能保留占用col+1~n的位置区间为以后考虑;那么我们要从col=1~n放,对于每个col选取[a,b]中 1) a最小 2)a相同时b最小的区间; 每选中一个区间就把他抹掉;为什么那么选的原因:1) a最小 :原创 2016-05-11 21:14:14 · 389 阅读 · 0 评论 -
LA 4850 Installations 贪心 *
题目地址:http://vjudge.net/problem/UVALive-4850好难....思路来自:http://blog.youkuaiyun.com/L123012013048/article/details/44000965?locationNum=4&fps=1思路:贪心,解题思路:这题很容易就想到按di进行排序,di小的先做,如果di相同的话,就si小的先做,这样的思路是原创 2016-10-27 18:14:17 · 536 阅读 · 0 评论 -
LA 3902 Network -
题目地址:http://vjudge.net/problem/UVALive-3902#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#原创 2016-10-14 18:30:40 · 251 阅读 · 0 评论 -
HDU 1789 Doing Homework again 贪心 .
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1789贪心:优先取scores最大的,并且在这个scores中选择deadline最晚的一天用并查集优化了一下,用来优化找deadline之前空的一天的效率#include#include#include#includeusing namespace std;const int m原创 2016-09-28 17:20:50 · 206 阅读 · 0 评论 -
UVA 11134 Fabled Rooks .
题目地址:http://vjudge.net/problem/UVA-11134第二次[a,b] 区间排序的时候,b小的优先,因为是从左往右放的,首先把b小的放完如[1,3],[1,4],[2,3],[2,3] 只有以b小为优先才行,a小为优先是不行的#include using namespace std;#define REP(i,a,b) for(int i=a;i<=原创 2016-10-22 20:02:15 · 218 阅读 · 0 评论 -
LA 4254 Processor 贪心+二分 *
题目地址:http://vjudge.net/problem/UVALive-4254计算机的速度可以是任何值,题目求的是最大速度的最小值那么很明显就是二分查找最优解题目就转化为:给定一个是计算机速度,求该速度下能否达成目标原创 2016-10-22 17:28:06 · 422 阅读 · 0 评论 -
UVA 10382 Watering Grass 区间覆盖问题 -
题目地址:http://vjudge.net/problem/UVA-10382第一想法:1)ri*22)肯定为了让决策有序化,按p排序3)很明显 ,状态两种:开与不开,而且位置固定的,那么就可以看成由n个区间,求能覆盖整个区间的最小数量,那不是就贪心的区间覆盖问题嘛原创 2016-10-21 19:11:01 · 323 阅读 · 0 评论 -
HDU 1506 Largest Rectangle in a Histogram 分治法 -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1506分治法,分成左边和右边和中间求中间最大面积的时候用贪心,mid出发,左右两边扫描,优先取最高的#include#include#include#includeusing namespace std;const int maxn=100000+5;typedef long l原创 2016-09-25 08:05:21 · 272 阅读 · 0 评论 -
UVA 11729 Commando War .
题目地址:http://vjudge.net/problem/UVA-11729#include using namespace std;const int maxn=10000+5;struct Job{ int B,J; bool operator < (const Job& job) const{ return J>job.J; }}jobs[maxn];int原创 2016-10-10 20:42:46 · 297 阅读 · 0 评论 -
UVA 11292 Dragon of Loowater 贪心 .
题目地址:http://vjudge.net/problem/UVA-11292#include using namespace std;const int maxn=20000+3;int dragon[maxn],knight[maxn];int main(int argc, char const *argv[]){ int n,m; while(scanf("%d%d",&原创 2016-10-10 14:12:57 · 250 阅读 · 0 评论 -
POJ 1456 Supermarket [贪心+并查集]
题目地址贪心:优先选利益最大的商品,从deadline向前推直到都放不了再选下一个商品利益最大的关键是判断哪一些日子不能再放了,最简单的方法就是一个数组+一个for循环判断但更快的是用并查集,p=find(deadline) 当p>0,p就是可以放的日子 否则放不了;放好后更新parent[p]=p-1;向前一天递推#include#include#includ原创 2016-07-24 18:14:10 · 317 阅读 · 0 评论 -
UVA 11389 The Bus Driver Problem .
题目地址:http://vjudge.net/problem/UVA-11389很明显是贪心a[]为下午路线,b[]为上午路线将a从小到达排序,b从大到小排序对于任意一个元素a[i]和b[i]来说如果不将a[i]与b[i]搭配:假设a[i]不选b[i]选了更小的b[j](j>i),那么b[i]只能选a[j1](j1>i) ,然而a[j1]+b[i]会更加大所以每个a[i]和原创 2016-10-28 09:56:13 · 274 阅读 · 0 评论