【题意】给定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相关推荐

  1. bzoj 1572: [Usaco2009 Open]工作安排Job

    Description Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单 ...

  2. [BZOJ1572][Usaco2009 Open]工作安排Job

    1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1351  Solved: 632 [Sub ...

  3. bzoj1572 [Usaco2009 Open]工作安排Job

    [Usaco2009 Open]工作安排Job Time Limit: 10 Sec Memory Limit: 64 MB Description Farmer John 有太多的工作要做啊!!!! ...

  4. [Usaco2009 Open]工作安排Job

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1457  Solved: 687 [Submit][Status][Discuss] Descript ...

  5. 【bzoj1572】[Usaco2009 Open]工作安排Job 贪心+堆

    题目描述 Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有1000000000个单位时间(!). ...

  6. [BZOJ1572] [Usaco2009 Open]工作安排Job(贪心 + 堆)

    传送门 把任务按照d排序 一次加入到堆中,如果当前放不进堆中,并且比堆中最小的大, 就从堆中弹出一个数,再把当前的数放进去 #include <queue> #include <cs ...

  7. 麦肯锡顾问深度工作安排:将工作可视化

    工作表安排的三个步骤 凡是善于工作的人,都有一个共通的方法,那就是他们能够有意识或者无意识地使自己的整体工作可视化. 商业系统型的工作安排法: 流程:为了创造价值明确工作的整体流程 分解:将整体流程分 ...

  8. 综合布线工作组2008年上半年技术课题工作安排会议通知

    中国工程建设标准化协会信息通信专业委员会   建标信通字[2008] 02号 综合布线工作组2008年上半年技术课题工作安排会议通知   各工作组成员 中国工程建设标准化协会信息通信专业委员会综合布线 ...

  9. 2010年上半年计算机专业技术资格考试工作安排

      2010年上半年计算机专业技术资格考试工作安排<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...

最新文章

  1. 自动化网络拓扑 包容多设备类型——湖南省高速公路邵怀高速公路建设开发有限公司...
  2. angular2-baidu-map网站中使用百度地图
  3. xml教程之约束schema
  4. keil5建立多文件的时候为什么总是出错
  5. Nodejs 和PHP 性能测试结果
  6. 开源项目GoodView点赞效果
  7. ios 一直是正在等待审核_iOS开发者账号被调查了,相关问题整理
  8. Linux 后台执行脚本或命令 nohup
  9. hive 的drop table命令出错
  10. 扩展欧几里得原理与模板
  11. Android Spinner(下拉菜单)常用属性与点击事件获取值
  12. 贝索斯:为什么我们要选择更难的事情去做? |【经纬低调分享】
  13. ibm system x服务器重装系统,IBM X346服务器重装系统_xSeries 346阵列配置
  14. 2018美赛 A 题
  15. office2010软件安装资料及教程
  16. CH579 以太网转串口 串口服务器代码!需要自己编程提升能力的非常值得参考的代码
  17. 集成电路实践----D触发器
  18. Cat源码分析(三):10种分析器
  19. 手机投屏到电脑显示屏
  20. 一文读懂人工智能产业链:基础技术、人工智能技术及人工智能应用

热门文章

  1. Centos 6.4 PPTP ×××搭建
  2. log4j打印mybatis sql语句
  3. 快速撑握C#知识点系列之(struct)结构
  4. Dubbo -- 系统学习 笔记 -- 示例 -- 参数验证
  5. 构建之法现代软件工程(第五次)
  6. 深入理解 JavaScript Function
  7. linux date
  8. MySQL Cluster(MySQL 集群) 初试(转)
  9. Android饼图Pie Chart
  10. 组织级项目管理实例分享——来自项目管理群的讨论