【题目描述】

有 N 个时间段,某个时间段可能包含其它时间段。

请找出能包含其它时间段最多的那个段,并计算出它包括的其它时间段有多少?

【数据范围】

1 <= N <= 25,000

1 <= 时间段开始和结束点 <= 2,000,000,000

【输入格式】

第1行:一个整数 N

第2..N+1行:第i+1行有两个整数A,B(1 <= A < B <= 2,000,000,000)表示第 i 个时间段的开始和结束端点。任意两个时间段的端点不相同。

【输出格式】

一行,一个整数。表示一段最多可包含的时间段数的最大值。

【样例输入】

4
1 7
2 3
5 6
4 10

【样例输出】

2

 /*单调队列问题  按照左端点排一遍序
左端点简单入队 右端点分情况讨论
如果当前点Ti是右端点 并且与第一个时间点相匹配
则可以统计本段中的两端点都在期间的线段个数,并删除T1
删除T1之后如果T2的右端点已经出现过 T2可以继续删除
计数减一 因为他是T1-Ti的子段 不可能是最大解
不匹配时更加简单 计数+1 因为他一定是T1的子段
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct self {
int x,y;
bool operator < (const self &a) const{
return x<a.x;
}
}s[];
int t[],q[],head,tail,ans,n;
void work(){
head=tail=;
q[head]=;
for(int i=;i<=n;i++) {
bool update=;
while(s[q[head]].y<s[i].x&&head<=tail)head++;
for(int j=tail;j>=head;j--)
if(s[q[j]].y>s[i].y) {
update=;
t[q[j]]++;
ans=max(ans,t[q[j]]);
}
if(!update){
tail++;
q[tail]=i;
}
}
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d",&s[i].x,&s[i].y);
sort(s+,s+n+);
work();
cout<<ans<<endl;
return ;
}

Cover的更多相关文章

  1. Dancing Links and Exact Cover

    1. Exact Cover Problem DLX是用来解决精确覆盖问题行之有效的算法. 在讲解DLX之前,我们先了解一下什么是精确覆盖问题(Exact Cover Problem)? 1.1 Po ...

  2. img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover

    img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover <!DOCTYPE html> <html ...

  3. 集合覆盖 顶点覆盖: set cover和vertex cover

    这里将讲解一下npc问题中set cover和vertex cover分别是什么. set cover: 问题定义: 实例:现在有一个集合A,其中包含了m个元素(注意,集合是无序的,并且包含的元素也是 ...

  4. poj 1266 Cover an Arc.

    http://poj.org/problem?id=1266 Cover an Arc. Time Limit: 1000MS   Memory Limit: 10000K Total Submiss ...

  5. HUST 1017 - Exact cover (Dancing Links 模板题)

    1017 - Exact cover 时间限制:15秒 内存限制:128兆 自定评测 5584 次提交 2975 次通过 题目描述 There is an N*M matrix with only 0 ...

  6. background-size的两个属性:cover和contain

    两种都不会造成图片失真,其中: (1)cover:相当于宽度等于元素的宽度,高度设为auto: (2)contain:相当于高度等于元素的高度,宽度设为auto: 例如:设置一个高度和宽度都为300p ...

  7. Dancing Link --- 模板题 HUST 1017 - Exact cover

    1017 - Exact cover Problem's Link:   http://acm.hust.edu.cn/problem/show/1017 Mean: 给定一个由0-1组成的矩阵,是否 ...

  8. CSS3 background-size 属性值:cover

    当设置值为cover,可以呈现出图片铺满浏览器内容的视觉效果 实例 规定背景图像的尺寸: div { background:url(img_flwr.gif); background-size:80p ...

  9. background-size的cover和content的用法

    background-size:cover; 表示背景图拉伸布满,如果在手机上做的话,背景图片会拉大,失真.这样做不妥 background-size:content; 表示背景图片在内容区域正常显示 ...

  10. 【英文】Bingo口语笔记(18) - Cover系列

    cover charge 服务费 cover version 翻唱版本 cover the news 头条新闻

随机推荐

  1. ajax全局变量的使用

    var username; $.ajax({ type:"post", url:"a.action", data: {}, dataType: 'text',  ...

  2. 可怕的万圣节 Linux 命令

    虽然现在不是万圣节,也可以关注一下 Linux 可怕的一面.什么命令可能会显示鬼.巫婆和僵尸的图像?哪个会鼓励"不给糖果就捣蛋"的精神? crypt 好吧,我们一直看到 crypt ...

  3. 37.VUE学习之-表单的综合运用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  4. 20190103(GIL,池,阻塞,同步异步)

    GIL锁 什么是GIL GIL全局解释器锁,是防止多个线程在同一时间同时执行的.CPython解释器特有的一种互斥锁. 每一个py文件都会有自己的解释器,也就是说不同py文件的GIL都是独立的, ps ...

  5. 从0到n-1中随机等概率输出m个不同的数

    //假设输入的n远大于m void knuth(int n, int m) { for (int i = 0; i < n; i++) { if (rand() % (n - i)<m) ...

  6. Cube HDU - 1220(思维)

    Cowl is good at solving math problems. One day a friend asked him such a question: You are given a c ...

  7. 动态规划:HDU1003-Max Sum(最大子序列和)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  8. 线性回归、逻辑回归(LR)

    线性回归 回归是一种极易理解的模型,就相当于y=f(x),表明自变量 x 和因变量 y 的关系.最常见问题有如 医生治病时的望.闻.问.切之后判定病人是否生了什么病,其中的望闻问切就是获得自变量x,即 ...

  9. Linux磁盘与文件管理系统

    基本上Linux的正统文件系统为Ext2,该文件系统内的信息主要有: superblock:记录此filesystem的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与 ...

  10. leetcode 【 Reverse Linked List II 】 python 实现

    题目: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1- ...