贪心
大大的梦_小小的步伐
大大的梦——小小的步伐
展开
-
UVA 10382 贪心 最少圆
题目:https://cn.vjudge.net/contest/170620#problem/A给你一块草地,有长,宽,给你n个喷头,每个喷头给出中心和喷洒范围。求覆盖这片草地的最小碰头数量。思路:这是经典的贪心题,从左到右,把所有喷头排序,现在第一个喷头的最右边距离为right,找到剩下喷头中喷头能覆盖right的,且喷头右边的距离最大的喷头,然后更新最右边的距离right。这里注原创 2017-09-13 16:30:51 · 276 阅读 · 0 评论 -
4-3 法师康工人 贪心
题目:三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机。第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产,一直到1000时刻。第二个工人,在700时刻开始,在1100时刻结束。第三个工人从1500时刻工作到2100时刻。期间最长至少有一个工人在生产线上工作的连续时间为900秒(从200时刻到1100时刻),而最长的无人生产的连续时间(从生原创 2017-12-04 17:33:21 · 331 阅读 · 0 评论 -
4-2三值排序 贪心
题目:排序是一种很频繁的计算任务。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。写一个程序计算出,计算出的一个包括1、2、3三种值的数字序列,排成升序所需的最少交换次数。输入第1行为类别的数量N(1≤N≤1000)输入第2行到第N+1行,每行包括一个数字(1或2或3)。原创 2017-12-04 17:02:08 · 214 阅读 · 0 评论 -
51 nod 最高奖励(贪心+优先队列)
题目:https://cn.vjudge.net/contest/178387#problem/H有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。思路:这道题和HDU1789是一样的,都是给你原创 2017-09-14 15:01:32 · 171 阅读 · 0 评论 -
任务执行顺序
题目:https://cn.vjudge.net/contest/178387#problem/F有N个任务需要执行,第i个任务计算时占Rii个空间,而后会释放一部分,最后储存计算结果需要占据Oii个空间(Oii < Rii)。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。思路:有很多不同存储内存的任务,你要原创 2017-09-13 20:33:00 · 418 阅读 · 0 评论 -
聪明的木匠 取最小
题目:https://cn.vjudge.net/contest/178387#problem/G可以利用优先队列,每次取最小的两个值。#include #include using namespace std;int main() { priority_queue, greater > q; int n, tmp; while (cin >> n) { for (int原创 2017-09-13 20:51:20 · 182 阅读 · 0 评论 -
HDU 1789
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1789现在有N门作业,每门有截止日期和扣的分数,找出最少扣分的方法。思路:先找到截止日期最晚的,然后往前推,先做价值最大的,这样就能最大限度减少损失。#include#includeusing namespace std;const int maxn = 1000 + 5;struct原创 2017-09-13 21:08:24 · 229 阅读 · 0 评论 -
51 nod 1428 活动安排 (线段的最大重合条数)
题目:https://cn.vjudge.net/contest/178387#problem/E有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? 思路:这道题可以抽象为线段的题,n条线段,求在某个位置重合的最大条数。可以先按照右端点升序,对每条线段,若它右边的线段开始时间在该条线段之前,表示和原创 2017-09-13 19:50:11 · 301 阅读 · 0 评论 -
51nod 1133不重合线段
题目:https://cn.vjudge.net/contest/178387#problem/DX轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。思路:这题和重叠的题很类似,先左端点排序,然后从右向左计算,如果当前线段的右值小于liml(当前最左值),则更新Liml,计数+1.从右向左是因为确保能到达最大长度。原创 2017-09-13 19:27:57 · 203 阅读 · 0 评论 -
51nod 1091 线段重合
题目:X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,10201020和12251225的重叠部分为12201220。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。思路:先把所有线段按照左端点从小到大排序,然后求出两两之间的重叠大小。现在最右边的线段是limr,如果新的线段最右边大于limr,更原创 2017-09-13 17:10:54 · 167 阅读 · 0 评论 -
独木船
题目:https://cn.vjudge.net/contest/178387#problem/Cn个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? 思路:先排序,从最大开始,如果当前最小的+最大的可以,则他们一条船,否则最大的一条船。#include#i原创 2017-09-13 17:17:47 · 345 阅读 · 1 评论 -
51 nod 走格子
题目:https://cn.vjudge.net/contest/178387#problem/A有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数Aii,表示这个格子的能量值。如果Aii > 0,机器人走到这个格子能够获取Aii个能量,如果Aii < 0,走到这个格子需要消耗相应的能量,如果机器人的原创 2017-09-13 17:02:07 · 182 阅读 · 0 评论 -
uva10905 最大整数组合
题目:https://cn.vjudge.net/contest/170620#problem/B4个整数为123,124,56,90,则可以制作以下整数:1231245690,1241235690,5612312490,9012312456,9056124123等等。实际上可以制造这样的整数。 但有一件事是肯定的那个9056124123是可以做的最大的整数。找到这个最大的整数。原创 2017-09-13 16:44:07 · 218 阅读 · 0 评论 -
POJ3262 贪心
题目:农夫有n头牛跑到花坪上吃草,农夫要把它们送回自己的牛舍,所化的时间分别为 t_i,(单程时间为t_i),每头牛留在华坪上每单位时间内吃花量分别为d_i。华坪上花最少被破坏的数量为多少?Sample Input63 12 52 33 24 11 6Sample Output86题解:很久没做贪心的题,开始就瞎做了。。。以T小或者D的排序都不对。。然后...原创 2018-08-16 20:55:32 · 416 阅读 · 0 评论