博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 1572 贪心(priority_queue)
阅读量:4576 次
发布时间:2019-06-08

本文共 860 字,大约阅读时间需要 2 分钟。

思路:

维护两个堆
一个按时间 (从后到前)的
另一个是按价值(从大到小)的
从时间的堆向价值的堆倒
每回(合法状态下)取当前的堆顶
判一判

//By SiriusRen#include 
#include
#include
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
,cmp2>pq_time;priority_queue
,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);}

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532220.html

你可能感兴趣的文章
寒冬夜行人
查看>>
poj1151 Atlantis
查看>>
HTML页面之间的参数传递
查看>>
java面试题集锦
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>
Spring Security构建Rest服务-0800-Spring Security图片验证码
查看>>
AE待整理
查看>>
java8中规范的四大函数式接口
查看>>
分类---Logistic Regression
查看>>
35.Docker安装Mysql挂载Host Volume
查看>>
Ubuntu 英文下Fcitx 无法输入中文
查看>>
Android压力测试命令monkey详解
查看>>
MySQL_入手<二>之删--改--查
查看>>
MySQL创表--分页--自关联--
查看>>
python基础_面向对象进阶
查看>>
GitHub从小白到熟悉<一>
查看>>
测试基础_<一>
查看>>
定义页面加载和导航时要执行的函数/自定义事件
查看>>
rem.js
查看>>
Unslider.js Tiny Sample
查看>>