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网站,确实不太容易找到删除功能.这里介绍一下啊 ...
随机推荐
- 【LeetCode】四数之和
[问题]给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找 ...
- 关于fdisk命令
fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区. [root@loclhost ~]# fdisk /dev/sdb Command (m for help): m #输入m列出常用的命令 C ...
- 备份mysql的批处理命令
需要工具mysqldump.exe的支持,安装mysql默认是带此工具的 批处理命令 set NOW_TIME_HH=%time:~0,2% if "%NOW_TIME_HH%" ...
- 常用模块-正则re
常用模块之正则模块 """ 正则表达式与re模块的关系 1.正则表达式是一门独立的技术,任何语言均可使用 2.python中要想使用正则表达式需要通过re模块 " ...
- Maven:org.apache.maven.archiver.MavenArchiver.getManifest错误
Eclipse导入maven多模块工程时报错org.apache.maven.archiver.MavenArchiver.getManifestorg.apache.maven.archiver.M ...
- Python时间问题
获取当前的时间,time只能精确到秒,而datetime可以精确到毫秒,所以使用格式化的时候要注意. nowTime=time.localtime((time.time())) t=time.strf ...
- iOS精美过度动画、视频会议、朋友圈、联系人检索、自定义聊天界面等源码
iOS精选源码 iOS 精美过度动画源码 iOS简易聊天页面以及容联云IM自定义聊天页面的实现思路 自定义cell的列表视图实现:置顶.拖拽.多选.删除 SSSearcher仿微信搜索联系人,高亮搜索 ...
- winform显示、隐藏任务栏及开始菜单
private const int SW_HIDE = 0; //隐藏 private const int SW_RESTORE = 9;//显示 /// <summary> /// 获取 ...
- windows 10下的python开发环境
linux子系统 按照文档 https://www.jianshu.com/p/2bcf5eca5fbc 的前五步,完成 ubuntu子系统安装. 不需安装图形桌面,无使用价值. 在https://w ...
- Unix网络编程学习 < 一 >
#include "unp.h" int main(int argc , char**argv) { int sockfd , n; //sockfd套接字描述符 ]; struc ...