三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机。第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产,一直到1000时刻。第二个工人,在700时刻开始,在1100时刻结束。第三个工人从1500时刻工作到2100时刻。期间最长至少有一个工人在生产线上工作的连续时间为900秒(从200时刻到1100时刻),而最长的无人生产的连续时间(从生产开始到生产结束)为400时刻(1100时刻到1500时刻)。

你的任务是用一个程序衡量N个工人在N条产品线上的工作时间列表(1≤N≤5000,以秒为单位)。

·最长的至少有一个工人在工作的时间段

·最长的无人工作的时间段(从有人工作开始计)

输入第1行为一个整数N,第2-N+1行每行包括两个均小于1000000的非负整数数据,表示其中一个工人的生产开始时间与结束时间。输出为一行,用空格分隔开两个我们所求的数。

样例输入

3
200 1000
700 1100
1500 2100

样例输出

900 400

思路:本题的题意就是从一组连续区间中选出它们所能组成的最大的连续区间和连续区间中最大的间隔区间。按照贪心的思路,区间起始坐标最小的区间一定要选,之后再分析有多少区间和它相交,如果下一个区间和当前区间不连续,则说明是一个间隔。排序+遍历即可实现。

#include<cstdio>
#include<algorithm>
using namespace std;struct Node{ //区间int a,b; //起始点和结束点bool operator < (const Node& n) const{  //按区间起始坐标最小的排序return a<n.a || (a==n.a && b>n.b);}
}ns[5005];int main(){int n;scanf("%d",&n);int a,b;if(n==1){scanf("%d%d",&a,&b);printf("%d %d\n",b-a,0);return 0;}for(int i=0;i<n;i++){scanf("%d%d",&a,&b);ns[i].a=a;ns[i].b=b;}sort(ns,ns+n);a=ns[0].a;b=ns[0].b;int p=a,q=b,sum1=b-a,sum2=0,max1=sum1,max2=0;for(int i=1;i<n;i++){ a=ns[i].a;b=ns[i].b;if(a<=q && b>q){ //相交sum1+=(b-q);q=b;}if(a>q){ //间隔sum1=b-a;sum2=a-q;p=a;q=b;}max1=max(sum1,max1);max2=max(max2,sum2);}printf("%d %d\n",max1,max2);return 0;
}

法师康的工人(贪心)相关推荐

  1. 贪心算法-法师康的工人

    时间限制1000ms空间限制 65536K 题目描述 三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机.第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产 ...

  2. 中国矿业大学算法概论作业二 F、法师康的工人

    F.法师康的工人 题目描述 三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机.第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产,一直到1000时刻.第二 ...

  3. 计蒜客 - 法师康的工人

    时间限制1000ms空间限制 65536K 题目描述 三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机.第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产 ...

  4. CUMTOJ:algorithm-法师康的工人(题解)

    题目描述: 三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机.第一个工人在200时刻开始(从6点开始计时,以秒作为单位)在生产线上开始生产,一直到1000时刻.第二个工人,在700 ...

  5. 算法设计与分析-实验2

    问题 A: algorithm-迷宫游戏 题目描述 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连结这些房间,你沿着这些道 ...

  6. 中国矿业大学算法导论作业

    中国矿业大学算法导论作业 文章目录 中国矿业大学算法导论作业 作业一 A: algorithm-锯木棒 B: algorithm-最长公共子序列 C: algorithm-矩阵连乘 D: algori ...

  7. 程序员大本营GitHub遭黑客劫持,是时候认真聊聊开源代码安全了

    著名的"交友网站"GitHub是程序员的"大本营",很多人都将源代码托管在上面,并不断利用社区开源资源开发新的算法.软件.应用. 这样一个极客云集的平台,居然被 ...

  8. 下图为双总线结构机器的数据通路_海康机器人为物流加码:进击吧,双11新“打工人”...

    今年的双11开启了迄今最长"战线" 据国家邮政局初步预计,11月1日-16日 全行业处理的邮(快)件业务量将达57.8亿件 同比增长47%左右 双11期间业务量将达29亿件 比去年 ...

  9. 杭州阿里、海康、网易等组成 的HR 联盟对打工人的影响

    11月9号,杭州高新区(滨江)HR智库联盟联盟成立.首批成员由阿里.海康.网易.吉利等30余家重点企业CHO或HRD组成,旨在打造最具"使命感.凝聚力.生长力"的人力资源共享赋能平 ...

最新文章

  1. 用GPU拯救世界:英伟达斯坦福呼吁玩家捐献算力,投入新冠病毒相关蛋白质分布式计算...
  2. uniapp与帝国cms7.5开发实战之动态爆料订阅号app开发实战记录
  3. Python 延迟初始化(lazy property)
  4. 处理数字_1_计算某列的最小/大值
  5. 离婚从来不是解决家庭危机的唯一办法
  6. mysql5.7 glibcxx_3.4.15_Percona Server安装可能出现的问题 version `GLIBCXX_3.4.15' not found ...
  7. android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法
  8. 由查找算法工程的类图分析组合模式
  9. Hibernate之分页查询
  10. html网页设计期末大作业——绿色的化妆品网页设计(5页) 网页设计作业模板 学生网页制作源代码下载
  11. php 监控网站是否宕机,利用网站监控随时知道网站宕机
  12. 如何使用 Putty 以密钥 private key 的方式登录腾讯云主机
  13. 系统架构设计笔记(80)—— .NET
  14. 010 面向对象编程
  15. “AI芯片”通识_AI产品经理看这一篇就够了_团员分享_@书博
  16. Python趣味算法入门 - 百钱百鸡
  17. Linux线程同步机制四--信号量sem
  18. Ubuntu的recovery模式进入及退出
  19. SketchUp等设计软件官方推荐电脑配置 |干货
  20. 容器云java开发_使用码云构建 Docker 容器镜像并部署到华为云

热门文章

  1. 实战c++中的string系列--string的替换、查找(一些与路径相关的操作)
  2. 详解torch.topk
  3. SS00003.airthmetic——|HadoopArithmetic环境部署.v03|——|Arithmetic.v03|Jupyter交互程序|
  4. C语言_指针和引用的区别
  5. 搜客网游戏源码社区开通啦!游戏源码、游戏技术交流、游戏辅助等交流共享平台
  6. UNIX家族及类UNIX系统
  7. 滴鸡精泰斗林明昌倾情加盟 金元裕开启健康新时代
  8. 京东开卖“企业福利”!针对企业级市场的场景电商来了
  9. 扫地拖地一体机哪款好,好用的扫地拖地一体机分享
  10. ios原生入门之storyboard页面绘制