博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 1029C Maximal Intersection 【性质】
阅读量:5323 次
发布时间:2019-06-14

本文共 616 字,大约阅读时间需要 2 分钟。

难受啊,打div3都差点掉分。这道题没做出来,以为是道线段树的题。

实际上maximal intersection应当是【右区间最小】减【左区间最大】。(也许画画图能想到)

那我们枚举把每个线段删掉后剩下的右区间最小和左区间最大就行了,方法是维护右区间第一小/第二小,左区间第一大/第二大。然后就做出来了。

 

#include
#define INF 2e9+10000using namespace std;int l[300005],r[300005];int max1=-1,max2=-1,min1=INF,min2=INF;int i1,i2;int main(){ int n; cin>>n; for(int i=1;i<=n;i++) scanf("%d%d",l+i,r+i); //最大intersection是右区间最小 - 左区间最大 for(int i=1;i<=n;i++){ if( l[i]>max1 ) { max1=l[i]; i1=i; } if( r[i]
max2 && i!=i1 ) max2=l[i]; if( r[i]

 

转载于:https://www.cnblogs.com/ZhenghangHu/p/9562364.html

你可能感兴趣的文章
MFC模态对话框程序不响应OnIdle
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
Oracle 序列的应用
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
好用的在线Markdown编辑器
查看>>
wtforms
查看>>
EFCode First 导航属性
查看>>
嵌入式Linux开发
查看>>
Swift语法初见
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
前端基础之html
查看>>
I - Agri-Net - poj 1258
查看>>
git 的回退
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
Confluence配置数据库
查看>>
Java锁机制(一)synchronized
查看>>