priority_queue
文章平均质量分 57
everlasting__
'-'
展开
-
bzoj 3358: [Usaco2004 Jan]洪水
→题目链接← 保存每个高度有多少个 如果目前剩的水的体积大于目前最矮的高度的数量,那么会使水面高度整体上升1,然后把目前的高度+1 然后再判断下以前是否已经有了+1后的高度,如果有把这两堆合并,再推进优先队列 直到最终高度后,只要初始高度小于等于最终高度,都加进ans 最后输出 最终高度 和 ans 代码: #include #include #include #in原创 2017-08-22 16:25:59 · 341 阅读 · 0 评论 -
bzoj 4781: [Usaco2017 Open]Paired Up
→题目链接← 每次把最大的牛与最小的牛合并,最终结果一定是最大值最小的 所以我们用优先队列维护一个大根堆,再维护一个小根堆,每次合并更新下答案就好 代码: #include #include #include #include #include #include using namespace std; struct node1{ int sum,val,num;原创 2017-08-30 09:25:56 · 369 阅读 · 0 评论 -
bzoj 1216: [HNOI2003]操作系统
→题目链接← 【想说的话】 听说03年不让用stl... 所以就会产生这样的题... 【题解】 用优先队列按照题意模拟就好了 【代码】 #include using namespace std; struct node{ int num,ti,t,x; friend bool operator < (node a,node b){ if(a.x==原创 2017-10-22 17:14:30 · 270 阅读 · 0 评论