贪心
River_____________
这个作者很懒,什么都没留下…
展开
-
Cleaning Shifts POJ - 2376
贪心的思想:每次在可以选择的范围内都尽量选择右边界更大的牛 #include #include #include using namespace std; const int Max = 25000; // 对象 int N, T; struct Interval { int b, e; } I[Max]; // 函数 bool greater( const Interv转载 2017-03-05 09:40:02 · 263 阅读 · 0 评论 -
Graveyard UVALive - 3708(思维)
看了大白才会的,大白太厉害了。 思路:在原来n个的基础上再加入m个,肯定有一个是不用变的,这样其他的位置就被确定了,需要移动的就是那些不在整数点上的点,选择近的点移动就好了。 #include #include #include using namespace std; int n,m; int main() { while(~scanf("%d%d",&n,&m))原创 2017-04-27 17:21:56 · 235 阅读 · 0 评论 -
丽娃河的狼人传说
首先多个判断会相互影响,所以前面安放的路灯要尽可能的被后面的查询区间使用,所以贪心的思路就差不多是这样。 可以按照left按照 t1.l>t2.l; 排序然后安放路灯尽量靠左,也可以 t1.r <t2.r; 按照right安放路灯尽量靠右,两者的思路都是一样的。 按left: #include #include #include #include using namesp原创 2017-05-13 09:56:01 · 267 阅读 · 0 评论 -
POJ - 1017 (贪心)
POJ - 1017 (贪心) A factory produces products packed in square packets of the same height h and of the sizes 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. These products are always delivered to customers in the square原创 2017-03-16 00:21:18 · 461 阅读 · 0 评论 -
POJ - 2431(优先队列)
题意:从起点到终点距离为n,走1单位路程消耗1单位油,路上会有m个加油站分别出现在Si的位置,路过加油站时可以选择是否加油。问到达加油站最少需要加几次油,不能到输出-1. 分析:整体上来看,汽车每经过一个加油站就拥有了在这个加油站加油的能力,可以将加油站加入优先队列,没油时优先选取大的。 收获:路过即获得的思想,不直接判断,而是等到需要再判断。 代码: #include #inc原创 2017-03-15 23:59:59 · 277 阅读 · 0 评论 -
UVA - 11636(贪心)
如果当前存在的行数大于等于目标行数的一半的话,再经历一次复制就可以达到目标状态,在此之前的话应该每次最大化复制。 #include #include #include #include using namespace std; int n; int main() { int kase=1; while(~scanf("%d",&n)) { int原创 2017-04-01 13:38:51 · 362 阅读 · 0 评论 -
Saruman's Army POJ - 3069
Saruman's Army POJ - 3069 Saruman the White must lead his army along a straight path from Isengard to Helm’s Deep. To keep track of his forces, Saruman distributes seeing stones, known as原创 2017-03-15 00:04:05 · 195 阅读 · 0 评论 -
Stall Reservations POJ - 3190
Stall Reservations POJ - 3190 Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A..B (1 <= A <= B <= 1,000原创 2017-03-14 23:29:25 · 206 阅读 · 0 评论 -
uva11729(贪心)
贪心的思想,因为任意两段部署工作的时间是不能重合的,所以部署工作的时间不用考虑,尽量将用时长的工作先做就好了。 或许每个人都有成为将军的梦想,小光也是如此。从小,小光就立志长大了以后要做一名军人,保家卫国。有一天,他做了一个梦,在梦里,他是一个英明神武的将军,但是敌国马上就要入侵了,作为将军的他责无旁贷需要挺身而出,于是他开始做一些战略部署。 假设当前小光有n个部下,每个部下需要完成一项任务。原创 2017-03-24 00:48:20 · 666 阅读 · 0 评论 -
POJ - 3262(效率贪心)
证明源自sdj老师:http://blog.csdn.net/sdj222555/article/details/10284181 假设序列都由二元组组成,二元组是由D和T组成,那么对一个序列有相邻的两头牛是这样的 ..........(a, b) ,(c, d).................... 如果(a,b)和(c,d)交换位置了 变成新序列 ..........(c,d)转载 2017-03-30 19:34:51 · 437 阅读 · 0 评论 -
poj3190(区间贪心)
贪心,优先队列,先对开始时间排序,队列中结束时间在前的优先。如果出队元素结束时间比另一元素早则该元素 入队,否则牛棚数加一再入队最早开始的。用一个数组记录顺序 这个贪心思路比较简单,难点就是按照开始时间拍完序之后再怎么输出的问题,本来想的是再结构体里再加一个数据 代表选用哪个兽栏,但是一直出错。。。 看了大神的思路后,还是用一个数组单独保存思路更清晰。。。 #include #inc转载 2017-03-11 11:04:00 · 297 阅读 · 0 评论 -
A - Radar Installation POJ - 1328 (区间贪心)
题目:给出一个坐标系,将x轴看作海岸,在x轴的上方会出现一些质点(代表小岛),现在要在岸上建造一些灯塔,要求所有的小岛都要被至少一个灯塔照到,求最少要建造多少个灯塔。 分析:贪心的思路,每个小岛对应在海岸上对应一段区间,将这些区间按照左端排序,查找最少需要的个数,注意每次判断的右端会不断更新,按照每次判断的小岛的区间 收获:第一次做区间贪心的问题,没想到把小岛的对应的灯原创 2017-03-08 23:15:39 · 304 阅读 · 0 评论 -
F - Eating Together POJ - 3670 (LIS)
裸的LIS(没学过。。 拿DP大力n2,直接超时 借此学一下LIS ———————————————————————————————————————————————————— DP数组: DP【i】代表长度为 i 的序列的结尾的 数字 思路有点贪心。 新的DP数组相当于一个贪心的序列。 从前往后扫描的过程中不断地把原序列的元素加入到DP数组里,对于每一个原序列的元素a【i】而言原创 2017-06-30 11:11:54 · 207 阅读 · 0 评论