有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。
Input
第1行:一个数N,表示任务的数量(2 <= N <= 50000)
第2 - N + 1行,每行2个数,中间用空格分隔,表示任务的最晚结束时间E[i]以及对应的奖励W[i]。(1 <= E[i] <= 10^9,1 <= W[i] <= 10^9)
Output
输出能够获得的最高奖励。
Input示例
7
4 20
2 60
4 70
3 40
1 30
4 50
6 10
Output示例
230
//贪心+优先队列
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
priority_queue<int,vector<int>,greater<int> >q;
int n;
struct node{int t,w;bool operator<(const node &a) const {return a.t>t;}
}e[50006];
int main()
{scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d%d",&e[i].t,&e[i].w);sort(e,e+n);ll ans=0;for(int i=0;i<n;i++){if(e[i].t>q.size()){ans+=e[i].w;q.push(e[i].w);}else{ans+=e[i].w;q.push(e[i].w);ans-=q.top();q.pop();}}printf("%lld\n",ans);return 0;
}

转载于:https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/9569407.html

1163 最高的奖励(贪心+优先队列)相关推荐

  1. HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解

    思路:维护一个递增队列,如果当天的w比队首大,那么我们给收益增加 w - q.top(),这里的意思可以理解为w对总收益的贡献而不是真正获利的具体数额,这样我们就能求出最大收益.注意一下,如果w对收益 ...

  2. 贪心+优先队列 HDOJ 5360 Hiking

    题目传送门 1 /* 2 题意:求邀请顺序使得去爬山的人最多,每个人有去的条件 3 贪心+优先队列:首先按照l和r从小到大排序,每一次将当前人数相同的被邀请者入队,那么只要能当前人数比最多人数条件小, ...

  3. 贪心(优先队列) - New Year Snowmen - CodeForces - 140C

    贪心(优先队列) - New Year Snowmen - CodeForces - 140C 题意: 给定一个长度为n的正整数序列a1,a2,...,an.给定一个长度为n的正整数序列a_1,a_2 ...

  4. CodeForces 140C New Year Snowmen (贪心+优先队列)

    题意:n个数,选三个严格下降的数为一组,求最多能选多少组,并列出每组哪些数. 题解:贪心+优先队列 最多能选多少组,那么必须贪心数量多的. 例如:1 1 2 3 4 5 如果按照数的大小排序,只能贪到 ...

  5. CF140C New Year Snowmen(贪心+优先队列)

    CF140C 贪心+优先队列 贪心策略:每次取出数量最多的三种球,合成一个答案,再把雪球数都-1再插回去,只要还剩下三种雪球就可以不断地合成 雪球数用优先队列维护 #include <bits/ ...

  6. 【BHOJ 女娲加农炮 |、||】贪心 | 优先队列 | 堆 | E

    这次我们通过两道例题来总结一下优先队列的用法和实现: 目录: [BHOJ 1512]女娲加农炮 [BHOJ 1517]女娲加农炮II [BHOJ 1512]女娲加农炮 核心:贪心 + 优先队列 URL ...

  7. codeforces D. Fedor and coupons 贪心+优先队列

    题目地址:点击打开链接 D. Fedor and coupons time limit per test 4 seconds memory limit per test 256 megabytes i ...

  8. 【51Nod - 1163】最高的奖励 (贪心+优先队列 或 妙用并查集)

    题干: 有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励.在结束时间之前完成该任务,就可以获得对应的奖励.完成每一个任务所需的时间都是1个单位时间.有时候完成所有任务是不可能的,因为时间上可能 ...

  9. 小A与任务 (贪心 优先队列)

    题目链接:小A与任务 题意: 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i 个任务需要花费 xi 的时间,同时完成第 i 个任务的时间不能晚于 ...

最新文章

  1. kobject_create_and_add
  2. Jenkins升级(rpm方式安装)教程
  3. Windows如何自定义U盘盘符、文件夹图标、文件夹背景
  4. 类模板特化之经典(一)
  5. AF_INET是什么?
  6. 将含有自定义代码的Infopath模板发布到Sharepoint表单库中
  7. 单片机 自动更改日期_自动螺丝机不可或缺之功能
  8. android 获取机顶盒ip,在电视机顶盒端查看IP地址 - 零成本让你的电视盒子变身无线路由器...
  9. 学以致提高学生操作计算机能力,学用结合,学以致用
  10. 《熊出没原始时代》总导演丁亮:爱与勇气 穿越古今
  11. GPRS通信原理及应用特点
  12. 算法练习, 红白花放置方法数
  13. 基于python的数据挖掘实验报告_数据挖掘实验报告一
  14. 使用C#进行蓝牙开发-接收BLE广播
  15. ReSharper配置及用法
  16. 纽约州立大学水牛城分校计算机科学专业,纽约州立大学水牛城分校会不会不容易毕业?...
  17. 类设计者的核查表(转自C++rumination)
  18. Oracle笔记本(1102)
  19. 中国科学技术大学计算机专业排名,2019中国科学技术大学专业排名
  20. 【报错记录】Un-Routed Net Constraint

热门文章

  1. P5706 【深基2.例8】再分肥宅水(python3实现)
  2. 第78课 通力合作的100个数
  3. 15产品经理要懂的-社会基本规律
  4. 如何拼局域网所有ip_求助 家庭网络如何布线让所有网口在同一个局域网内
  5. colorpix取色小工具_五款互联网人必备的免费工具,超级实用
  6. Python笔记-方差分析之单因素方差分析
  7. Java笔记-模拟QQ三方登录(单点登录2.0)
  8. MySQL工作笔记-检索出某一时间段中的数据,并更新
  9. 系统架构工作笔记-数据展示进程与读取数据进程分离,实现低耦合(展示软件可适用任意厂家数据库)
  10. Qt5.8 Windows端 关于 Style Plugin Example 官方实例中的错误