P2949 [USACO09OPEN]工作调度Work Scheduling

题目标签是单调队列+dp,萌新太弱不会

明显的一道贪心题,考虑排序先做截止时间早的,但我们发现后面可能会出现价值更高却没有时间做的情况

我们需要反悔的操作

于是我们想到用堆,如果当前放不下且当前价值高于已做工作中的最小价值,则删去它加入当前值

类似用堆实现反悔的贪心的经典题目:P1484 种树

#include<queue>
#include<cstdio>
#include<algorithm>
using namespace std;
struct thing {int t,v;bool operator <(const thing &b)const {return v>b.v;//小根堆}
} a[100005];
inline bool cmp(thing a,thing b) {return a.t<b.t;
}
int n;
long long ans;
priority_queue<thing> q;
int main() {scanf("%d",&n);for (int i=1; i<=n; i++) scanf("%d%d",&a[i].t,&a[i].v);sort(a+1,a+n+1,cmp);for (int i=1; i<=n; i++)if (a[i].t<=q.size()) {if (q.top().v<a[i].v) ans+=a[i].v-q.top().v,q.pop(),q.push(a[i]);} else q.push(a[i]),ans+=a[i].v;printf("%lld",ans);
}

转载于:https://www.cnblogs.com/Randolph68706/p/11197967.html

题解 P2949 【[USACO09OPEN]工作调度Work Scheduling】相关推荐

  1. 洛谷——P2949工作调度Work Scheduling

    题目: 约翰有太多的工作要做.为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有109 个单位时间.在任一时刻,他都可以选择编号1~N的N(1 <= ...

  2. P2949 [USACO09OPEN]Work Scheduling (后悔法,贪心)难度⭐⭐⭐

    P2949 [USACO09OPEN]Work Scheduling G 3 2 10 1 5 1 7 17 后悔法的贪心. 首先思路就是先按截止日期排序,然后如果一个工作有时间去做,就先做了它,然后 ...

  3. 调度框架 Scheduling Framework 实践

    调度框架 Scheduling Framework 架构设计 工作流程图可以查看 相关文档参见 sig-scheduling 前提 调度框架定义了一组扩展点,用户可以实现扩展点定义的接口来定义自己的调 ...

  4. 【Linux 内核】调度器 ① ( 调度器概念 | 调度器目的 | 调度器主要工作 | 调度器位置 | 进程优先级 | 抢占式调度器 | Linux 进程状态 | Linux 内核进程状态 )

    文章目录 一.调度器 0.调度器概念 1.调度器目的 2.调度器主要工作 3.调度器位置 4.进程优先级 5.抢占式调度器 二.Linux 内核进程状态 API 简介 三.Linux 进程状态 一.调 ...

  5. 石化行业工作调度,如何选择合适的防爆对讲机?

    防爆对讲机是指可以在爆炸性气体环境下工作的对讲机,而并非对讲机本身有抵抗爆炸的能力.通常来说,防爆对讲机可以适用于石油.煤矿.化工.火电.食品加工等存在危险可燃性气体或粉尘的环境. 石化行业工作调度, ...

  6. Linux学习笔记39——任务调度:什么是例行性工作调度、仅执行一次的工作调度、循环执行的例行性工作调度、可唤醒停机期间的工作任务

    一.什么是例行性工作调度 1,Linux 工作调度的种类: at, cron 2,CentOS Linux 系统上常见的例行性工作 二,仅执行一次的工作调度 1,atd 的启动与 at 运行的方式 a ...

  7. 省厅召开四川省第三次全国国土调查耕地资源质量分类工作调度视频会议

    为贯彻落实<国务院第三次全国国土调查领导小组办公室关于印发〈第三次全国国土调查耕地资源质量分类工作方案〉的通知>要求,全力做好我省"三调"耕地资源质量分类工作.11月5 ...

  8. 后悔贪心+P2949 [USACO09OPEN]Work Scheduling G

    题意: 给你N个任务,每个任务 iii 都有截止日期DiD_{i}Di​和报酬PiP_{i}Pi​,每完成一个工作需要耗费1的单位时间,你需要使所得报酬最大并输出. 题目描述 Farmer John ...

  9. Quartz应用----发送邮件工作调度Java(转)

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.下面介绍在J2SE中应用的邮件发送工作调度程序.            Quartz要运行起来,最简单需 ...

最新文章

  1. 冲刺第三天 1.3 THU
  2. 微信小程序开发简易计算器改进版
  3. python django部署docker_Docker 部署 Django+Uwsgi+Nginx+Vue
  4. 用子函数实现strlen.strcpy.strcat.strcmp(完整代码)
  5. PHP实现简单的计算器
  6. iOS开发-iOS学习完整路线
  7. android rfid 数据解析_基于RFID技术的标签数据完整性与安全性解析
  8. putty怎么连到linux服务器,PuTTY 从 Windows 连接到 亚马逊服务器Linux 实例
  9. gmm聚类python_GMM-实现聚类的代码示例
  10. python图像分析_python数字图像处理(一)图像的常见操作
  11. css之display:inline-block布局
  12. 基于Linux (RHEL 5.5) 安装Oracle 10g RAC
  13. 10款响应式自适应网站模板(一)
  14. 特岗计算机老师年度总结,特岗教师工作总结
  15. 江南大学计算机考研好毕业吗,江南大学考研难吗?一般要什么水平才可以进入?...
  16. es - elasticsearch - aggs - metrics - t-test
  17. html5 电影选座位效果,为你的网页做出电影的过场效果
  18. linux chrome 网页字体,Linux 环境下怎么使 Chrome 浏览器字体更漂亮
  19. 多元线性回归模型选股应用(α策略)
  20. mysql信息泄露漏洞,MySQL远程信息泄漏和缓冲区溢出漏洞

热门文章

  1. 《信息学奥赛一本通提高篇》第6章 组合数学
  2. 锦标赛排序、洪水填充算法、平衡规划
  3. 29运用声东击西的方法不断引入种子用户
  4. php explore im,浏栏器-explore.class.php
  5. RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
  6. canvas笔记-canvas适应浏览器(填充整个页面)
  7. canvas笔记-绘制运动小球(落地弹起,遇边回弹)
  8. Java工作笔记-对反射的进一步理解
  9. C++笔记-ClassA a和ClassA a()的区别与联系
  10. Java笔记-使用BindingResult把表单错误传出来