E. Delete a Segment(删除一个区间,让并区间最多)
题:https://codeforces.com/contest/1285/problem/E
题意:给定n个区间,最多删除一个区间,让最后的并区间个数最大
#include<bits/stdc++.h>
using namespace std;
const int M=4e5+;
pair<int,int>a[M];
int countt[M];
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
int tot=;
for(int l,r,i=;i<=n;i++){
scanf("%d%d",&l,&r);
a[tot++]=make_pair(l,-i);
a[tot++]=make_pair(r,i);
countt[i]=;
}
sort(a,a+tot);
int ans=;
multiset<int>b;
for(int i=;i<*n;i++){
if(a[i].second<)///left
b.insert(-a[i].second);
else///right
b.erase(b.find(a[i].second));
if(b.size()==)///单独的一个并集
ans++;
if(b.size()==&&a[i].second>)///最简单的情况就类似三个区间,中间一个夹住旁边俩个
if(a[i+].second<)///防止"[[]]"的情况
if(a[i].first<a[i+].first)///排除==的情况,因为这里的==是指的是旁边的俩个,要是等于的话,他们俩个本身就能合成一个集合
countt[*b.begin()]++;
if(b.size()==&&a[i].second<&&a[i+].second>)///单单的一个区间
countt[*b.begin()]--;
}
int sum=-;
for(int i=;i<=n;i++)
sum=max(sum,countt[i]);
printf("%d\n",ans+sum);
}
return ;
}
E. Delete a Segment(删除一个区间,让并区间最多)的更多相关文章
- GitHub如何删除一个仓库
登陆后选择你需要删除的仓库 github如何删除一个仓库 在仓库的主界面的右边菜单栏选择settings github如何删除一个仓库 进入设置页面,一直往下拉,会发现一个红色的危险地区.. 找到de ...
- 在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)
在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)
- LeetCode 237. Delete Node in a Linked List (在链表中删除一个点)
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- Entity Framework 6 Recipes 2nd Edition(9-5)译->删除一个断开的实体
9-5. 删除一个断开的实体 问题 我们要把一个把WCF上取回的对象做上删除的标志. 解决方案 假设我们有如Figure 9-5所示实体的支付与票据的模型. Figure 9-5. 一个支付与票据的模 ...
- github如何删除一个(repository)仓库
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越 ...
- 如何用sql批量删除一个id段内的dedecms文章?
之前因为ytkah批量添加了dedecms文章,数量有些多,后面出现问题了,想要删除一部分织梦文章,后台一篇篇删,删到手软(相关内容:修改dedecms关键词到手软),于是就想到了sql数据库操作!那 ...
- 【转】github如何删除一个仓库
原文网址:http://jingyan.baidu.com/article/647f0115b031887f2048a85a.html?qq-pf-to=pcqq.group 今天打算删除一个仓库重新 ...
- github如何删除一个repository(仓库)
昨天有人问我如何删除自己创建的一个项目,我浏览了一下github网站,确实不太容易找到删除功能.这里介绍一下啊如何在github上删除一个repository 一:首先点击进入你要删除的reposit ...
- 【转】如何删除一个repository(仓库)
原文网址:http://my.oschina.net/anna153/blog/377758?p=1 如何删除自己创建的一个项目,我浏览了一下github网站,确实不太容易找到删除功能.这里介绍一下啊 ...
随机推荐
- 剑指offer题目汇总
二维数组中的查找 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中 ...
- MVC三层架构在各框架中的特征
转一篇写得很棒的文章:https://my.oschina.net/win199176/blog/208171?p=7&temp=1495894148424 1.基于web开发中最原始的jsp ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring框架的基本思想
EJB的学习成本很高,开发效率却不高,需要编写很多重复的代码,这些问题阻止了EJB的继续发展.就在EJB技术止步不前的时候,Spring框架在合适的时机出现了,Spring框架和EJB不同,Sprin ...
- spring boot 接口返回值封装
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- SublimeText3和插件的安装
SublimeText3和插件的安装 步骤一:进入官网下载SublimeText3(http://www.sublimetext.com/3),安装并打开SublimeText3 步骤二:进入Su ...
- decltype关键字
decltype用于编译时类型推导,是以一个普通表达式作为参数,返回该表达式的类型,而且decltype并不会对表达式进行求值. decltype的用法: //推导出表达式类型 ; decltype( ...
- 用Python在00:00给微信好友发元旦祝福语
2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...
- Sequence Models Week 1 Character level language model - Dinosaurus land
Character level language model - Dinosaurus land Welcome to Dinosaurus Island! 65 million years ago, ...
- Arduino学习——u8glib提供的字体样式
Fonts, Capital A Height4 Pixel Height U8glib Font FontStruct5 Pixel Height 04 Font 04 Font 04 Font ...
- HDU-2087 C - 剪花布条(KMP基本)
http://acm.hdu.edu.cn/showproblem.php?pid=2087 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能 ...