F - Maximal Intersection --------暴力求解题
You are given n
segments on a number line; each endpoint of every segment has integer coordinates. Some segments can degenerate to points. Segments can intersect with each other, be nested in each other or even coincide.
The intersection of a sequence of segments is such a maximal set of points (not necesserily having integer coordinates) that each point lies within every segment from the sequence. If the resulting set isn't empty, then it always forms some continuous segment. The length of the intersection is the length of the resulting segment or 0
in case the intersection is an empty set.
For example, the intersection of segments [1;5]
and [3;10] is [3;5] (length 2), the intersection of segments [1;5] and [5;7] is [5;5] (length 0) and the intersection of segments [1;5] and [6;6] is an empty set (length 0
).
Your task is to remove exactly one segment from the given sequence in such a way that the intersection of the remaining (n−1)
segments has the maximal possible length.
Input
The first line contains a single integer n
(2≤n≤3⋅105
) — the number of segments in the sequence.
Each of the next n
lines contains two integers li and ri (0≤li≤ri≤109) — the description of the i
-th segment.
Output
Print a single integer — the maximal possible length of the intersection of (n−1)
remaining segments after you remove exactly one segment from the sequence.
Examples
4
1 3
2 6
0 4
3 3
1
5
2 6
1 3
0 4
1 20
0 4
2
3
4 5
1 2
9 20
0
2
3 10
1 5
7
Note
In the first example you should remove the segment [3;3]
, the intersection will become [2;3] (length 1). Removing any other segment will result in the intersection [3;3] (length 0
).
In the second example you should remove the segment [1;3]
or segment [2;6], the intersection will become [2;4] (length 2) or [1;3] (length 2), respectively. Removing any other segment will result in the intersection [2;3] (length 1
).
In the third example the intersection will become an empty set no matter the segment you remove.
In the fourth example you will get the intersection [3;10]
(length 7) if you remove the segment [1;5] or the intersection [1;5] (length 4) if you remove the segment [3;10].
题意:给出一些区间(或者点),求去除一个区间后,所共有的最大范围
题解:根据样例与自己画得出规律:所给区间最大值为右侧r的最小值减去左侧l的最大值。然后从第一个点循环求出最大的ans。如果去除点包含lmax,那么l取第二大的值,r同理
ac代码
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct k {
long long ll;
long long rr;
}fan[310000];
int l[310000],r[310000];
int main()
{
int n,l1,r1,al,ar;
int ans=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>fan[i].ll;
cin>>fan[i].rr;
l[i]=fan[i].ll;
r[i]=fan[i].rr;
}
sort(l,l+n);
sort(r,r+n);
for(int i=0;i<n;i++)
{
if(fan[i].ll==l[n-1]) al=l[n-2];
else al=l[n-1];
if(fan[i].rr==r[0]) ar=r[1];
else ar=r[0];
ans=max(ans,ar-al);
}
cout<<ans<<endl;
return 0;
}
F - Maximal Intersection --------暴力求解题的更多相关文章
- CF1029C Maximal Intersection 暴力枚举
Maximal Intersection time limit per test 3 seconds memory limit per test 256 megabytes input standar ...
- 2n皇后问题-------递归 暴力求解题与分布讨论题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一 ...
- Codeforces Round #506 (Div. 3) C. Maximal Intersection
C. Maximal Intersection time limit per test 3 seconds memory limit per test 256 megabytes input stan ...
- Blue Jeans---poj3080(kmp+暴力求子串)
题目链接:http://poj.org/problem?id=3080 题意就是求n个长度为60的串中求最长公共子序列(长度>=3):如果有多个输出字典序最小的: 我们可以暴力求出第一个串的所有 ...
- Java【基础学习】之暴力求素数【用数组返回】
Java[基础学习]之暴力求素数[用数组返回] */ import java.util.*; public class Main{ public static void main(String[] a ...
- hdu 4291(矩阵+暴力求循环节)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4291 思路:首先保留求出循环节,然后就是矩阵求幂了. #include<iostream> ...
- UVA725 Division (暴力求解法入门)
uva 725 Division Write a program that finds and displays all pairs of 5-digit numbers that between t ...
- 2019牛客多校第二场F Partition problem 暴力+复杂度计算+优化
Partition problem 暴力+复杂度计算+优化 题意 2n个人分成两组.给出一个矩阵,如果ab两个在同一个阵营,那么就可以得到值\(v_{ab}\)求如何分可以取得最大值 (n<14 ...
- poj 2187 Beauty Contest (凸包暴力求最远点对+旋转卡壳)
链接:http://poj.org/problem?id=2187 Description Bessie, Farmer John's prize cow, has just won first pl ...
随机推荐
- JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去…
JavaScript 格式化数字.金额.千分位.保留几位小数.舍入舍去… 类库推荐 1. Numeral.js 一个用于格式化和操作数字的JavaScript库.数字可以被格式化为货币,百分比,时间, ...
- 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)
最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...
- python R语言 入门常见指令
环境是windows R语言安装包 install.packages("magrittr")
- python 类中方法总结 --- 实例方法、类方法、静态方法
在python的类语法中,可以出现三种方法,具体如下: (1)实例方法 1)第一个参数必须是实例本身,一般使用[self]表示. 2)在实例方法中,可以通过[self]来操作实例属性,[类名]来操作类 ...
- 【Flutter 实战】简约而不简单的计算器
老孟导读:这是 [Flutter 实战]组件系列文章的最后一篇,其他组件地址:http://laomengit.com/guide/widgets/Text.html,接下来将会讲解动画系列,关注老孟 ...
- 如何嵌套一个网页html到另一个html中
在常规网页开发中(单页应用除外哈),经常会遇到把一些通用内容的页面集中到一个页面中,需要使用这些页面只需要包含引入即可,这样有利于维护和修改,当通用页面修改时只需更改一个文件就可以了,不需要每个文件单 ...
- rpm部分命令解读
rpm部分命令解读 rpm---RedHat Package Manger---打包及安装工具 rpm参数列表 rpm -a rpm -q < rpm package name> 解读 ...
- 「疫期集训day5」火焰
我们就像一把穿刺敌人的利刃,把敌人开肠破肚----凡尔登高地前气势汹汹的德军 今天没有考试,挺好,有时间自己做题了 今天主要复习+学习了数据结构,列了个表: 已完成:单调队列,线段树,set/vect ...
- JVM 专题二十二:垃圾回收(六)垃圾回收器 (三)
4. GC日志分析 4.1 日志分析 通过阅读GC日志,我们可以了解Java虚拟机内存分配与回收策略. 内存分配与垃圾回收的参数列表-XX:+PrintGC:输出GC日志.类似-verbose: gc ...
- flask 源码专题(五):SqlAlchemy 中操作数据库时session和scoped_session的区别
1原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalc ...