【BZOJ】1572: [Usaco2009 Open]工作安排Job
【题意】给定n项工作的截止时间和价值,每项工作需要1单位时间完成,求最大价值。n<=10^5。
【算法】贪心+堆
【题解】
如果是访问到x时将d[x]前的点从价值最大的能加就加是错误的贪心,因为后面的点会占用到前面的,不能保证已选的就是最优的。
正确的贪心:按顺序选择前面所有点,并把价值取负后加入堆表示“反悔值”,然后遇到超限就弹出反悔值最小的(价值也就最小)。
还有一种思路是反过来做:从后往前算“开始时间”,每秒选择一个算入答案。
”反悔“是贪心思想的重要用法之一!
#include<cstdio> #include<queue> #include<algorithm> using namespace std; const int maxn=100010; struct cyc{int d,p; }a[maxn]; priority_queue<int>q; bool cmp(cyc a,cyc b){return a.d<b.d;} int n; int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d%d",&a[i].d,&a[i].p);sort(a+1,a+n+1,cmp);long long ans=0,now=0;for(int i=1;i<=n;i++){ans+=a[i].p;now++;q.push(-a[i].p);if(now>a[i].d){now--;ans+=q.top();q.pop();}} printf("%lld",ans);return 0; }
View Code
转载于:https://www.cnblogs.com/onioncyc/p/7449981.html
【BZOJ】1572: [Usaco2009 Open]工作安排Job相关推荐
- bzoj 1572: [Usaco2009 Open]工作安排Job
Description Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单 ...
- [BZOJ1572][Usaco2009 Open]工作安排Job
1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1351 Solved: 632 [Sub ...
- bzoj1572 [Usaco2009 Open]工作安排Job
[Usaco2009 Open]工作安排Job Time Limit: 10 Sec Memory Limit: 64 MB Description Farmer John 有太多的工作要做啊!!!! ...
- [Usaco2009 Open]工作安排Job
Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1457 Solved: 687 [Submit][Status][Discuss] Descript ...
- 【bzoj1572】[Usaco2009 Open]工作安排Job 贪心+堆
题目描述 Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单位时间(!). ...
- [BZOJ1572] [Usaco2009 Open]工作安排Job(贪心 + 堆)
传送门 把任务按照d排序 一次加入到堆中,如果当前放不进堆中,并且比堆中最小的大, 就从堆中弹出一个数,再把当前的数放进去 #include <queue> #include <cs ...
- 麦肯锡顾问深度工作安排:将工作可视化
工作表安排的三个步骤 凡是善于工作的人,都有一个共通的方法,那就是他们能够有意识或者无意识地使自己的整体工作可视化. 商业系统型的工作安排法: 流程:为了创造价值明确工作的整体流程 分解:将整体流程分 ...
- 综合布线工作组2008年上半年技术课题工作安排会议通知
中国工程建设标准化协会信息通信专业委员会 建标信通字[2008] 02号 综合布线工作组2008年上半年技术课题工作安排会议通知 各工作组成员 中国工程建设标准化协会信息通信专业委员会综合布线 ...
- 2010年上半年计算机专业技术资格考试工作安排
2010年上半年计算机专业技术资格考试工作安排<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...
最新文章
- 自动化网络拓扑 包容多设备类型——湖南省高速公路邵怀高速公路建设开发有限公司...
- angular2-baidu-map网站中使用百度地图
- xml教程之约束schema
- keil5建立多文件的时候为什么总是出错
- Nodejs 和PHP 性能测试结果
- 开源项目GoodView点赞效果
- ios 一直是正在等待审核_iOS开发者账号被调查了,相关问题整理
- Linux 后台执行脚本或命令 nohup
- hive 的drop table命令出错
- 扩展欧几里得原理与模板
- Android Spinner(下拉菜单)常用属性与点击事件获取值
- 贝索斯:为什么我们要选择更难的事情去做? |【经纬低调分享】
- ibm system x服务器重装系统,IBM X346服务器重装系统_xSeries 346阵列配置
- 2018美赛 A 题
- office2010软件安装资料及教程
- CH579 以太网转串口 串口服务器代码!需要自己编程提升能力的非常值得参考的代码
- 集成电路实践----D触发器
- Cat源码分析(三):10种分析器
- 手机投屏到电脑显示屏
- 一文读懂人工智能产业链:基础技术、人工智能技术及人工智能应用