Codeforces 845C. Two TVs 思路:简单贪心算法
题目:

题目原文链接: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[]; 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 = ;i < n; i++){
cin >> a[i].l >> a[i].r;
}
sort(a,a+n,cmp); //对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。 int r1 = -,r2 = -; //初始化上一个节目结束的时间
for(int i = ;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 ;
} cout << "YES" << endl;
return ;
}
Codeforces 845C. Two TVs 思路:简单贪心算法的更多相关文章
- ACM_ICPC hdu-2111(简单贪心算法)
一道非常简单的贪心算法,但是要注意输入的价值是单位体积的价值,并不是这个物品的总价值!#include <iostream> #include <stdio.h> #inclu ...
- Codeforces 845 C. Two TVs 思路:简单贪心算法
题目: 题目原文链接:http://codeforces.com/contest/845/problem/C 题意:现在我们有一个电视清单,有两个电视,电视清单上有每一个节目的开始时间和结束时间. 电 ...
- LeetCode解题记录(贪心算法)(一)
1. 前言 目前得到一本不错的算法书籍,页数不多,挺符合我的需要,于是正好借这个机会来好好的系统的刷一下算法题,一来呢,是可以给部分同学提供解题思路,和一些自己的思考,二来呢,我也可以在需要复习的时候 ...
- HDU 4726 Kia's Calculation (贪心算法)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 【贪心算法】POJ-1328 区间问题
一.题目 Description Assume the coasting is an infinite straight line. Land is in one side of coasting, ...
- 【ACM】子串和 - 贪心算法
子串和 时间限制:5000 ms | 内存限制:65535 KB 难度:3 描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最 ...
- 剑指offer-动态规划-贪心算法--剪绳子-python
题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]xk[1]x...xk[m]可能 ...
- codeforces 3b之贪心算法
有货车运量V:有若干物品A 占2单位体积,有若干物品B占1单位体积:相同种类的物品价值不一定一样: 序号按照输入顺序而定:问货车可以拉走最多多少价值的物品,并输出所选物品的序号: 1)常规的解法思路: ...
- 【九度OJ】题目1434贪心算法
题目 本题的贪心算法策略需要深入思考一下 看到题目,最初没有理解题目的要求:看尽量多的完整的节目.尽量多是指数量多,自己理解成观看的时间最长.这样想其实简化了这道题. 正确理解题意后,首先想到的想法是 ...
随机推荐
- centos 出现的问题
1.DNS问题,导致yum没得源 echo "nameserver 8.8.8.8">>/etc/resolv.conf 2.CentOS 7最小化安装后找不到‘ifc ...
- Edge浏览器+微软小娜
- Core Java(四)
四.数组 数组就是主函数(main方法)中的参数:public static void main(String[] args){ }数组是指一组数据的集合,数组中的每个数据称为元素.在Java中 ...
- word-break属性和css换行显示
这几天在做项目的时候,遇到了比较棘手的问题,便是在一个标签里边展示内容,如果说展示中文汉字,一点问题都没有,但是只要连续展示英文字母或者中文的标点符号(中间不带空格),那么所渲染的内容就不会换行,而是 ...
- js 基本基础知识回顾
js中的一切的变量.函数.操作符等等都是区分大小写的. js的基本的数据类型->包含下面的5种: 1.undefined 2.Null 3.Boolean 4.Number 5.String j ...
- Hihocoder1350-Binary Watch
时间限制:10000ms单点时限:1000ms内存限制:256MB 描述 Consider a binary watch with 5 binary digits to display hours ( ...
- Pyhton学习——Day36
#异步IO——Asynchronous#异步效率最高,特点:全程无阻塞# 在说明synchronous IO和asynchronous IO的区别之前,需要先给出两者的定义.# Stevens给出的定 ...
- java web 初尝遇到的坑
1. 配置 tomcat 7 + Dynamic web model version 3 发现写 web.xml 导致 tomcat 不能启动. 解决办法:tomcat 7 之后有两种配置 servl ...
- 电子邮件的三个协议: SMTP、IMAP、POP3
个人总结: 读完这篇文章需要10分钟 讲解了跟电子邮件有关的三个协议: SMTP(simple message transfer protocol 简单信息传输协议 IMAP (internet me ...
- js实现点击复制网页内容(基于clipboard.js)
浏览网页过程中会遇到点击复制链接地址的情况,下面就介绍一种实现方法,该方法是基于clipboard.js: 官网地址:https://clipboardjs.com/: clipboard.js使用比 ...