queue(队列)
zzti_xiaowei
xxx
展开
-
zzuli-2269 minval
[题目链接] 比赛的时候一直没有想出来,一直在关注复杂度,哭哭~ 思路: 用大根堆动态维护n个最小值,每当判断是否加入某个值时,与堆顶元素比较,若小于堆顶元素,删除堆顶元素,加入该值。 代码: #include<iostream> #include<cstdio> #include<queue> #include<cstring>...原创 2018-04-28 19:38:22 · 165 阅读 · 0 评论 -
zznu-2095 我只看看不写题
[题目链接] 思路:时间点1可以删除任意一个软件记录,时间点i只可以删除结束时间≥i的软件记录。大的时间选择删除记录不会影响小的时间。所以按时间点从大到小依次贪心选取最优即可。 //一开始就想到了,为啥没写出来 zz zz zz zz zz 代码: #include<iostream> #include<cstdio> #include<vector> #...原创 2018-05-15 17:27:59 · 161 阅读 · 0 评论 -
51nod-1672 区间交
[题目链接] 思路: 很经典的区间贪心问题,按照区间左端点排序,用优先队列维护一下区间右端点。 首先求一下前缀和,之后将区间按照起始时间从小到大排序,对于每个区间,首先将右端点放入优先队列,之后删除堆顶比当前的左端点小的值,若队列里的值多于k个,那么删除到只剩k个,当前的最优区间就是[node[i].s,top()],根据这个值更新Max即可。 代码: #include<io...原创 2018-05-16 12:17:57 · 179 阅读 · 0 评论 -
poj-3614 Sunscreen
[题目链接] 思路:一开始想的就是让SPF小的防晒霜给maxSPF小的牛,思路是对的,可是自己用模拟写的,有bug!这题和活动安排一类的题目好像好像~~~ 代码: // WA代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using nam...原创 2018-08-19 00:55:03 · 136 阅读 · 0 评论 -
poj-2010 Moo University - Financial Aid
[题目链接] 思路:一开始就想到用二分答案,写着写着一直T,没有对堆进行预处理。改之,由于一个小bug,一直WA。然后AC之后,讨论区看一下,此题数据较弱,好多二分中位数位置k,用堆找出前n/2和后n/2的最小和与总金额f进行比较,从而l++或者r–的做法是错误的,这样不满足单调性,无法二分! 数据: 3 5 3 4 10 5 10 6 1 7 1 8 1 正确做法:直接从后...原创 2018-08-21 19:22:26 · 180 阅读 · 0 评论