BZOJ 1572 贪心(priority_queue)
来源:互联网 发布:站长之家素材源码 编辑:程序博客网 时间:2024/06/05 10:38
思路:
维护两个堆
一个按时间 (从后到前)的
另一个是按价值(从大到小)的
从时间的堆向价值的堆倒
每回(合法状态下)取当前的堆顶
判一判
//By SiriusRen#include <queue>#include <cstdio>#include <algorithm>using namespace std;long long ans;int n,t=1000000000;struct Node{int d,p;}node[100500];struct cmp{ bool operator () (Node a,Node b){ return a.p<b.p; }};struct cmp2{ bool operator () (Node a,Node b){ return a.d<b.d; }};priority_queue<Node,vector<Node>,cmp2>pq_time;priority_queue<Node,vector<Node>,cmp>pq_value;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&node[i].d,&node[i].p); pq_time.push(node[i]); } pq_time.push((Node){0,0}); while(!pq_time.empty()){ Node tp=pq_time.top();pq_time.pop(); if(pq_value.empty())t=tp.d; pq_value.push(tp); while(!pq_value.empty()){ if(t>pq_time.top().d){ ans+=pq_value.top().p; pq_value.pop(); t--; } else break; } } printf("%lld\n",ans);}
0 0
- BZOJ 1572 贪心(priority_queue)
- bzoj 1029 建筑抢修|贪心|priority_queue
- bzoj 1572 贪心
- bzoj 1572 贪心+堆
- POJ 3190 priority_queue 贪心
- POJ 2437 贪心+priority_queue
- bzoj 4300(dp)(贪心)
- bzoj 3725: PA2014 Final Matryca (贪心)
- bzoj 2151: 种树(贪心+堆+链表)
- 【BZOJ】2802: [Poi2012]Warehouse Store(贪心)
- bzoj 1028: [JSOI2007]麻将 (贪心)
- bzoj 1237: [SCOI2008]配对 (贪心+DP)
- BZOJ 1052 覆盖问题 (二分 贪心)
- BZOJ 1029-建筑抢修(贪心)
- BZOJ 1028-麻将(暴力+贪心)
- BZOJ 3790 神奇项链 (Manacher 贪心)
- bzoj 1034: [ZJOI2008]泡泡堂BNB(贪心)
- BZOJ 3143 游走 (高斯消元 贪心)
- Problem 22 Names scores (好烦的文本读入处理题)
- 三天上手PHP之5:常量
- linux上运行脚本,覆盖所有匹配关键字的数据库的所有储存过程和函数
- JS Map 和 List 的简单实现代码
- 网络部第二次培训
- BZOJ 1572 贪心(priority_queue)
- java重修之路(三)算数运算符,转义字符,逻辑运算符,位运算符
- Python_正则表达式入门(实例讲解)
- Git SSH Key 生成步骤
- IOC和spring基本配置
- Unity5 AssetBundle资源管理架构设计
- Git Error: The remote end hung up unexpectedly
- Oracle 11gR2 RAC集群服务启动与关闭总结
- python基础知识学习