51Nod 1091 线段的重叠
来源:互联网 发布:图像清晰度检测算法 编辑:程序博客网 时间:2024/06/05 20:34
1091 线段的重叠
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
收藏
关注
X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。
给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。
Input
第1行:线段的数量N(2 <= N <= 50000)。
第2 - N + 1行:每行2个数,线段的起点和终点。(0 <= s , e <= 10^9)
Output
输出最长重复区间的长度。
Input示例
5
1 5
2 4
2 8
3 7
7 9
Output示例
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
收藏
关注
X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。
给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。
Input
第1行:线段的数量N(2 <= N <= 50000)。
第2 - N + 1行:每行2个数,线段的起点和终点。(0 <= s , e <= 10^9)
Output
输出最长重复区间的长度。
Input示例
5
1 5
2 4
2 8
3 7
7 9
Output示例
4
题意:》》》
思路:同样是区间覆盖问题,先按左端点排序,注意端点相同的选取区间短的,然后遍历选取区间覆盖长度最长的,用一个变量更新即可,和喷水装置(二)是一类题,,,
下面附上代码:
#include<bits/stdc++.h>using namespace std;struct node{int a,b;} s[50005];bool cmp(node A,node B){if(A.a!=B.a)return A.a<B.a;else return A.b<B.b;}int main(){int n;cin>>n;for(int i=0;i<n;i++)scanf("%d %d",&s[i].a,&s[i].b);sort(s,s+n,cmp);int m=s[0].b;int p=0;for(int i=1;i<n;i++){if(s[i].b>=m){p=max(p,m-s[i].a);m=s[i].b;}elsep=max(p,s[i].b-s[i].a);}printf("%d\n",p);return 0;}
阅读全文
0 0
- 51nod-1091 . 线段的重叠
- 51nod 1091 线段的重叠(贪心)
- 51nod 1091 线段的重叠
- 51nod 1091 线段的重叠
- 51nod 1091 线段的重叠 贪心
- 51nod 1091 线段的重叠
- 51nod 1091 线段的重叠 贪心
- 贪心-51nod 1091 线段的重叠
- 51nod-【1091 线段的重叠】
- 51nod 1091 线段的重叠
- 51nod 1091 线段的重叠
- 51nod 1091 线段的重叠
- 51 NOD 1091 线段的重叠
- 51Nod 1091 线段的重叠
- 51 nod 1091 线段的重叠
- 51Nod-1091 线段的重叠【排序】
- 51Nod 1091 线段的重叠
- 51nod 1091 线段的重叠
- 尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- CSDN博客积分规则和获取积分方法
- HTML&CSS精选笔记_浮动与定位
- UML之行为图
- 51Nod 1091 线段的重叠
- freebsd 与 nginx 与 openssl编译 http2
- commons-io使用笔记
- 《剑指offer》孩子们的游戏---约瑟夫问题
- java--public_private_void_static功能作用
- 准备提交到cocoapods的遇到的坑
- YII日志管理
- ss学习记录
- 用龙芯1c库在RT-Thread下实现硬件定时器中断