[BZOJ1572][Usaco2009 Open]工作安排Job(贪心+堆)
来源:互联网 发布:阿里云售后电话 编辑:程序博客网 时间:2024/05/21 22:51
题目描述
传送门
题目大意:每一个工作在di之前完成会有pi的收益,每一个时间只能完成一项工作,给出n个工作问最大收益。
题解
将di排序,然后维护一个pi的堆,每一次贪心地选择最大的
代码
#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>using namespace std;#define LL long long#define N 10005int n,ans;struct data{int d,p;}a[N];priority_queue <int,vector<int>,greater<int> > q;int cmp(data a,data b){ return a.d<b.d;}int main(){ scanf("%d",&n); for (int i=1;i<=n;++i) scanf("%d%d",&a[i].p,&a[i].d); sort(a+1,a+n+1,cmp); for (int i=1;i<=n;++i) { if (q.size()<a[i].d) q.push(a[i].p); else if (q.top()<a[i].p) q.pop(),q.push(a[i].p); } while (!q.empty()) ans+=q.top(),q.pop(); printf("%d\n",ans);}
0 0
- [BZOJ1572][Usaco2009 Open]工作安排Job(贪心+堆)
- BZOJ1572: [Usaco2009 Open]工作安排Job 贪心
- bzoj1572[Usaco2009 Open]工作安排Job 堆
- BZOJ1572 [Usaco2009 Open]工作安排Job
- BZOJ1572 [Usaco2009 Open]工作安排Job
- Bzoj1572 [Usaco2009 Open]工作安排Job
- [bzoj1572]: [Usaco2009 Open]工作安排Job
- bzoj1572 [Usaco2009 Open]工作安排Job
- 【bzoj1572】【工作安排】【贪心】
- BZOJ 1572: [Usaco2009 Open]工作安排Job
- 1572: [Usaco2009 Open]工作安排Job
- 1572: [Usaco2009 Open]工作安排Job
- BZOJ 1572[Usaco2009 Open]工作安排Job
- USACO1572[Usaco2009 Open]工作安排Job
- 1572: [Usaco2009 Open]工作安排Job
- 2016.4 半期 堆+贪心 【UASCO 2009 OPEN GOLD-2】工作安排
- USACO 4.2 Job Processing 工序安排(贪心-堆)
- 工作安排(Work scheduling,2009 Open)
- css相对定位
- 树状数组
- 设计模式之---前言
- java环境的配置
- 2017年网络赚钱项目:幻城国际
- [BZOJ1572][Usaco2009 Open]工作安排Job(贪心+堆)
- struct kref 说明
- 奇异值的物理意义是什么?
- 别开发APP了,这不是在开玩笑
- Ubuntu下查看Nvidia显卡驱动
- Elasticsearch logstash kibane 搭建
- hdu1677—Nested Dolls(贪心)
- 自定义一个下拉刷新
- 社交软件有哪些