工作安排 - 题目 - Daimayuan Online Judge

分析:

  • 贪心,将set当链表用

    从后往前考虑(这样先入队的就一直能到最后),碰到更小的时刻,就将之前入队的 能出的全出

#include <bits/stdc++.h>
#define int long long
#define Pa pair<int,int>
using namespace std;const int N=1e5+5;
struct node
{int d,p;bool operator < (node b) const { return d<b.d || d==b.d && p<b.p; }
}a[N];
set <int> st;
void solve()
{int n;cin>>n;for(int i=1;i<=n;i++) {scanf("%lld%lld",&a[i].d,&a[i].p);st.insert(a[i].d);}sort(a+1,a+1+n);auto it=prev(st.end());int l,r=*it;if(it==st.begin()) l=0;else it=prev(it), l=*it;int ans=0;priority_queue <int,vector<int>,less<int> > q;for(int i=n;i>=0;i--){if(a[i].d==l) {while(r>l && !q.empty()) {r--;ans+=q.top(); q.pop();}if(it!=st.begin()) it=prev(it), r=l, l=*it;else l=0;}q.push(a[i].p); }cout<<ans<<"\n";
}
signed main()
{int T=1;//cin>>T;while(T--) solve();
}

solution 2:

  • 贪心+考虑容斥(反悔贪心板子题,我是zz)

    考虑何时才要出队

#include <bits/stdc++.h>
#define int long long
#define Pa pair<int,int>
using namespace std;const int N=1e5+5;
struct node
{int d,p;bool operator < (node b) const { return d<b.d || d==b.d && p<b.p; }
}a[N];
void solve()
{int n;cin>>n;int ans=0;for(int i=1;i<=n;i++) {scanf("%lld%lld",&a[i].d,&a[i].p);ans+=a[i].p;}sort(a+1,a+1+n);int cnt=0;priority_queue <int,vector<int>,greater<int> > q;for(int i=1;i<=n;i++){q.push(a[i].p);cnt++;if(cnt>a[i].d) {// cnt 大于当前的时刻,说明不足以完成(包括)当前的时刻之前的所有工作,要剔除最小的ans-=q.top(); q.pop();cnt--;}}cout<<ans<<"\n";
}
signed main()
{int T=1;//cin>>T;while(T--) solve();
}

工作安排(反悔贪心板子题)相关推荐

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

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

  2. [TJOI2013]拯救小矮人(反悔贪心证明),「ICPC World Finals 2019」Hobson 的火车(基环树,差分)

    2021-09-07 test [TJOI2013]拯救小矮人 「ICPC World Finals 2019」Hobson 的火车 [TJOI2013]拯救小矮人 luogu4823 考试题目的数据 ...

  3. 美团点评2020校招算法工程师编程题--工作安排--动态规划

    题目描述: 小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值. 每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成.第i周,团队完成简单任 ...

  4. 51Nod 1091 线段的重叠(贪心+区间相关,板子题)

    1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 2 ...

  5. 反悔贪心题-炼金模拟器

    题意 LYH拥有一堆药水,每瓶药水i有一种功效a[i];如果a[i]为正,则加血:如果为负,则扣血. 他决定从第一瓶开始,依次绝对每瓶喝还是不喝:最开始血量为0,他希望喝的药水尽量多,并且不会中途挂掉 ...

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

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

  7. 算法_贪心 刷题总结

    目录 贪心真的太玄学了 1.入门级 2.区间覆盖升级版(多重区间覆盖) 3.CF1066B Heaters 4.拿东西(贪心+博弈) P1209 [USACO1.3]修理牛棚 Barn Repair( ...

  8. 【BZOJ2245】[SDOI2011]工作安排 拆边费用流

    [BZOJ2245][SDOI2011]工作安排 Description 你的公司接到了一批订单.订单要求你的公司提供n类产品,产品被编号为1~n,其中第i类产品共需要Ci件.公司共有m名员工,员工被 ...

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

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

最新文章

  1. 重构实践:体验interface的威力(一)
  2. 设计模式之结构型(4)-桥接模式(Bridge)
  3. 反思~我们是否应当克制对新技术的追求?
  4. 小米8 android9手势,这么全面的小米手机操作手势你一定没见过
  5. 编写html要注意,编写XHTML需要注意的问题以及和HTML的区别
  6. 魅族android 版本 6.0下载,flyme6.0内测版
  7. oracle 查找 psu,Oracle如何检查当前数据库CPU和PSU补丁信息
  8. LAMP架构调优(二)——修改Apache运行用户
  9. linux下的screen工具配置(针对 string escape)
  10. javahost:使用虚拟DNS省掉开发环境配置hosts文件
  11. 探测内网c段、外网某网站(ip)的网络服务存活状态
  12. 68张微信表情包png
  13. rovio环境配置与测试笔记
  14. 「AR裸眼插画」零基础入门级教程来啦
  15. Linux apache 默认目录结构
  16. 在word 页眉插入章编号+标题
  17. 3ds max不能完全自定义设置FOVX和FOVY(3ds max 2014)
  18. 数据库种类发展史和大数据下的数据库(NoSQL)
  19. 51单片机:设计电子密码锁
  20. PostgreSQL利用全备与WAL日志恢复数据库

热门文章

  1. cacti监控及配置
  2. 学习Redis的基本命令
  3. ALS算法原理和在音乐推荐上的应用
  4. php+5.3.7++,Windows Server 2008(R2) 一键安装PHP环境(PHP5.3+FastCGI模式
  5. java 优化包_java美化界面包 | 学步园
  6. 抖音小店为什么没生意?万顿思教育
  7. RGBD相机的标定和图像配准
  8. iOS - 个人中心果冻弹性下拉动画
  9. 前一阵子闹得沸沸扬扬的IP归属地,到底是怎么实现的?
  10. GIS的基本概念二:大地水准面、旋转椭球体(椭球体)、大地基准面