题目:

题目原文链接:http://codeforces.com/contest/845/problem/C

题意:现在我们有一个电视清单,有两个电视,电视清单上有每一个节目的开始时间和结束时间。

   电视不能接连不间断的播放,例如TV1播放完1-2点的节目后不能接着播放2-3点的电视,除非在TV2上播放,如果TV2也正在播放则不能播放完清单。

思路:

  1.对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。

  2.如果TV1已经结束。就把这一个节目的结束时间赋给TV1,然后看下一个节目。

  3.如果TV1尚未结束,TV2已经结束。就把这一个节目的结束时间赋给TV2,然后看下一个节目。

  4.如果TV1、TV2都尚未结束。就输出NO,不再看下一个节目。

代码:

#include <bits\stdc++.h>
using namespace std;struct node{int l;int r;
}a[200005];bool cmp(node a,node b){if(a.l == b.l) return a.r < b.r;return a.l < b.l;
}int main(){int n;cin >> n;for(int i = 0;i < n; i++){cin >> a[i].l >> a[i].r;}sort(a,a+n,cmp); //对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。 int r1 = -1,r2 = -1;  //初始化上一个节目结束的时间 for(int i = 0;i < n; i++){if(r1 < a[i].l){  //如果TV1已经结束。就把这一个节目的结束时间赋给TV1,然后看下一个节目。 r1 = a[i].r;continue;}if(r2 < a[i].l){  //如果TV1尚未结束,TV2已经结束。就把这一个节目的结束时间赋给TV2,然后看下一个节目。 r2 = a[i].r;continue;}cout << "NO" << endl;//如果TV1、TV2都尚未结束。就输出NO,不再看下一个节目。 return 0;}cout << "YES" << endl;return 0;
} 

Codeforces 845 C. Two TVs 思路:简单贪心算法相关推荐

  1. Codeforces 845 A. Chess Tourney 思路:简单逻辑题

    题目: 题意:输入一个整数n,接着输入2*n个数字,代表2*n个选手的实力.    实力值大的选手可以赢实力值小的选手,实力值相同则都有可能赢.    叫你把这2*n个选手分成2个有n个选手的队伍. ...

  2. 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划

    文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...

  3. 贪心算法很简单:跳跃游戏

    题目描述: 定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: ...

  4. 三十六、贪心算法--集合覆盖问题

    一.贪心算法介绍 1.贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 2.贪心算法不是对所有问题都 ...

  5. <贪心算法>学习及经典实例分析

    前言 人生如逆旅,我亦是行人. 贪心算法(Greedy Algorithm) 贪心算法(Greedy Algorithm,又称贪婪算法):是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说 ...

  6. 3.Python算法之贪心算法思想

    贪心算法 1.什么是贪心算法 2.贪心算法的特点和思路 3.贪心算法的缺点 4.贪心算法的基本思路 5.贪心算法的基本过程 6.贪心算法解决"找零"问题 6.贪心算法解决" ...

  7. Leetcode刷题:贪心算法

    文章目录 一.算法思想 二.分配问题 2.1 Leetcode 455 2.1.1 题目描述 2.1.2 输入输出格式 2.1.3求解思路 2.1.4 代码示例(C++) 2.2 Leetcode 1 ...

  8. Leetcode学习之贪心算法

    贪心算法理论基础 题目分类大纲如下: 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优. 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎 ...

  9. 4.25分享(贪心算法基础)

    这里写目录标题 贪心选择的概念 解题的基本思路 对贪心算法的理解 贪心算法的基本流程: 例题 部分背包问题 纸币找零问题 贪心算法与动态规划的区别 坚果保龄球 贪心选择的概念 贪心算法总是做出在当前看 ...

最新文章

  1. 【机器学习基础】Python机器学习的神器- Scikit-learn使用说明
  2. 几款让你爱不释手的语音转文字软件
  3. scrcpy投屏_安卓投屏利器——PC一键控制多台手机
  4. 一个最简单的Makefile例子(转)
  5. FTP主动模式和被动模式学习笔记
  6. 如何才能通过设置将excel单元格内的14位数字转换为日期格式
  7. Box2dの学习制作超级积木完整版
  8. Storm目录树、任务提交、消息容错、通信机制
  9. 暮光之城4下高清下载地址|暮光之城4第二部高清下载地址
  10. 电商数据应用体系建设总结(二)—— 数据应用层架构介绍和规范总结
  11. 数据库 casewhen 的用法
  12. node mysql 坑_菜鸟Node.js MySQL教程遇到的坑
  13. Grid-based RRP/基于网格的路径重新规划问题
  14. Mysql数据库 | SQL语句解析『下篇』
  15. GUNS框架图片上传详解
  16. js关闭当前网页的代码
  17. 阿里一日游,入职当天即提辞职
  18. html5 打气球小游戏,在javascript+css3中如何实现打气球小游戏
  19. UVALive 4513 Stammering Aliens
  20. MATLAB实现RSA加密解密

热门文章

  1. lisp用entmake生产圆柱体_使用lisp语言实现在平面图中自动画出桥梁的墩柱标识.doc...
  2. 3dContactPointAnnotationTool开发日志(三三)
  3. 第一章 初识Linux shell
  4. 维护索引——通过重组索引提高性能
  5. 如何通过apk获得包名及Activiy 名称
  6. 老李分享:Android -自动化埋点 2
  7. Random方法:生成指定长度的随机数字
  8. String案例 练习: 将一个字符串进行反转
  9. [当人工智能遇上安全] 7.基于机器学习的安全数据集总结
  10. [Python人工智能] 三十三.Bert模型 (2)keras-bert库构建Bert模型实现文本分类