优先队列
Bahuia
软件工程博士
展开
-
51Nod - 1475 优先队列 + 贪心
题意:小C现在想建设一个国家。这个国家中有一个首都,然后有若干个中间站,还有若干个城市。现在小C想把国家建造成这样的形状:选若干(可以是0个)的中间站把他们连成一条直线,然后把首都(首都也是一个中间站)连在这一条直线的左端。然后每个点可以连一个城市,特别的是最右端的点可以连接两个城市。现在有n个城市的规划供小C选择。但是,他们那儿的交通条件比较差,他们那儿一天是原创 2017-01-27 11:51:06 · 504 阅读 · 0 评论 -
51Nod - 1246 贪心 + 优先队列
题意:有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。Input第1行:一个数N,表示任务的数量(2 <= N <= 50000)第2 - N + 1行,每行2个原创 2017-02-03 10:30:23 · 478 阅读 · 0 评论 -
51Nod - 1117 优先队列
题意:一位老木匠需要将一根长的木棒切成N段。每段的长度分别为L1,L2,......,LN(1 木匠发现,每一次切割花费的体力与该木棒的长度成正比,不妨设切割长度为1的木棒花费1单位体力。例如:若N=3,L1 = 3,L2 = 4,L3 = 5,则木棒原长为12,木匠可以有多种切法,如:先将12切成3+9.,花费12体力,再将9切成4+5,花费9体力,一共花费21体力;还可以先原创 2017-02-03 17:29:30 · 297 阅读 · 0 评论 -
CF 754D 贪心 + 优先队列
题意:给出n个区间,要从中选出k个区间,要满足这k个区间的交区间尽可能的大,输出最大的交区间以及k个所选择的区间。思路:贪心,优先队列,还是想不到。 首先可以确定,如果k个区间有一个公共部分,那么这个公共部分区间的左端点一定是这个k个区间里最靠右的,右端点一定是这k个区间里面最靠左的。如果当前得到的右端点 < 左端点,说明区间不存在。 这样可以利用优先队列,先把区间按照左端点排序,保证后访问的左原创 2017-04-17 09:52:00 · 520 阅读 · 0 评论 -
HDU 6136 贪心+优先队列+并查集优化
题意:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6136 一个长度为L的环形赛道上有n辆赛车,每个赛车有一个初始位置和一个顺时针或逆时针的速度,第i个赛车重量为i,当两个赛车相遇之后重量小的会被毁掉,重量大将状态不变,继续前进,问经过多长时间之后,只剩下一辆车。思路:贪心,可以想到一个明显的结论,所有车里最先相撞的一定是某两个相邻的赛车,那么可以原创 2017-08-20 22:11:16 · 503 阅读 · 0 评论 -
HDU 6000 贪心
题意:有n件衣服要洗,每一件衣服都要先洗再烘干,有n台洗衣机和m台烘干机,给出每台机器工作的时间,问洗完所有衣服最短时间是多少。思路:贪心,如果只考虑洗衣的过程,可以利用优先队列保存下一次的时间,这里要考虑两个过程,我们只需要分别考虑最短,再将两个组合起来就可以,贪心一下要小的配大的,代码很简单。代码:#include <bits/stdc++.h>using namespace std;typ原创 2017-08-31 18:37:05 · 359 阅读 · 0 评论