Codeforces
来源:互联网 发布:懒人淘宝商城 编辑:程序博客网 时间:2024/06/06 17:25
题意:给你两个电视机和一串节目的播放时间表,问你能不能把全部电视节目都看完。就是你可以同时看两个节目,看能不能全部都看完,端点情况注意考虑。
解题思路:第一反应使用线段树,但会超时。后来想了想,直接模拟就好了!先对区间按开始时间排序,开始时间相同,结束早的在前。然后开始模拟看电视的过程就好了。要设定两个标记,分别为两台电视机是否在使用。还有两个结束时间标记,用于更新电视机的状态,详细看代码。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include<map>using namespace std;struct len{ int l; int r;}list[200005];bool cmp(len a,len 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++) { scanf("%d%d",&list[i].l,&list[i].r); } sort(list,list+n,cmp); bool one=false; bool two=false; int oneend=-1; int twoend=-1; for(int i=0;i<n;i++) { if(oneend<list[i].l) one=false; if(twoend<list[i].l) two=false; if(one&&two){ cout<<"NO"<<endl; return 0; } if(one){ two=true; twoend=list[i].r; continue; } else{ one=true; oneend=list[i].r; continue; } } cout<<"YES"<<endl; return 0;}
阅读全文
0 0
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- laravel 解决leftjoin带条件查询没有返回右表为NULL的记录问题
- Hadoop学习(一)——总体学习
- NOIP 2016 Day2 T3 愤怒的小鸟
- 2018届注册会计师面授11个月全日制
- 盈透创始人 Thomas Peterffy
- Codeforces
- Java并发编程:volatile关键字解析
- 同步加载、异步加载和延迟加载
- HTTP协议(Requset、Response)
- 斐波那契数列的变形---跳台阶及矩形覆盖
- PHPWAMP强行脱离依赖,在系统缺失必备组件或DLL受损的情况下依然能正常运行
- 10个Java面试小技巧!
- android 和 js 之间交互的封装
- js与ios交互,使用WebViewJavascriptBridge三方库