题意:

求两条线段的最大重叠

思路:

按照l升序,r降序排列

维护最大的r

代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<stack>
#include<queue>
#include<deque>
#include<set>
#include<vector>
#include<map>
#include<functional>#define fst first
#define sc second
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a))
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define lc root<<1
#define rc root<<1|1
#define lowbit(x) ((x)&(-x)) using namespace std;typedef double db;
typedef long double ldb;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> PI;
typedef pair<ll,ll> PLL;const db eps = 1e-6;
const int mod = 1e9+7;
const int maxn = 2e6+100;
const int maxm = 2e6+100;
const int inf = 0x3f3f3f3f;int n;
struct node{int l, r;
};
node a[maxn];
bool cmp(node a, node b){if(a.l==b.l)return a.r > b.r;return a.l<b.l;
}
int main() {scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d %d", &a[i].l,&a[i].r);}sort(a+1,a+1+n,cmp);int m = a[1].r;int ans = 0;for(int i = 2; i <= n; i++){if(m >= a[i].r){//覆盖ans = max(ans, a[i].r-a[i].l);}else{//相交、不想交ans = max(ans, m-a[i].l);m = a[i].r;}}printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/wrjlinkkkkkk/p/10428697.html

51nod 1091 线段的重叠(贪心)相关推荐

  1. 51Nod 1091 线段的重叠(贪心+区间相关,板子题)

    1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 2 ...

  2. 1091 线段的重叠

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 ...

  3. 51Nod-1091 线段的重叠【排序】

    1091 线段的重叠 基准时间限制:1秒 空间限制:131072KB 分值:5难度:1级算法题 收藏 关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 ...

  4. 51nod 1091 重叠的线段(贪心)

    题干: X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部 ...

  5. Canvas判断线段是否重叠

    比如我们,想画一个完整的闭合的矩形,那我们就不能让线段进行重叠 那线段重叠了,判断的方法呢 canvas.onmouseup = function (e) {e = e || window.event ...

  6. 线段的重叠与不重叠问题

    一.线段的重叠问题 #include<cstdio> include<iostream> include<algorithm> define N 50005 usi ...

  7. 【51Nod - 1133】不重叠的线段 (贪心)

    题干: X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠的线段.(注:起点或终点重叠,不算重叠). 例如:151523233636,可以选23233636,这2条线段互不重叠 ...

  8. 1730: 数区间(线段覆盖,贪心)

    1730: 数区间 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 月月唱歌超级好听的说!华华听说月月在某个网站发布了自己唱的歌曲,于是把完整的歌曲下载到了U盘 ...

  9. 【51Nod - 1432】独木舟 (贪心,思维,好题)

    题干: n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? Input 第 ...

最新文章

  1. 使用 jQuery Deferred 和 Promise 创建响应式应用程序
  2. XenStore: 使用,结构和原理
  3. 解决在IOS系统及微信中audio、video不能自动播放的问题
  4. 一个自定义类型的运算符重载的例子
  5. 【HDU - 5418】Victor and World(tsp旅行商问题,状压dp,floyd最短路,图论)
  6. 怎样去理解@ComponentScan注解
  7. spark sql读取hive底层_[大数据]spark sql读写Hive数据不一致
  8. 2020未来科学大奖获奖名单公布 张亭栋、王振义等获奖
  9. 靠写代码赚钱的一些门路
  10. C语言水仙花数和总数,C语言与水仙花数
  11. wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
  12. 【libjpeg-turbo】安装指南[mac版]
  13. Redis迭代查询详解及其使用:Scan命令、Sscan命令、Hscan命令、Zscan命令
  14. 200410 笔试某居游戏公司数据分析岗前的准备
  15. 计算机软件工程专业大学排名专科,2020软件工程专业大学排名一览表
  16. arm嵌入式系统C语言代码,ARM嵌入式系统C语言编程.pdf
  17. 第三周 Access 课堂总结
  18. 基于SqlServer基本表的插入、修改和删除
  19. python漫画爬虫:我不做人了,b站!爬取辉夜大小姐等漫画
  20. 记一次Max模型导入到GIS平台歪了,尺寸不对过程分析

热门文章

  1. 细胞自动机 c语言程序,Processing精彩例程之细胞自动机
  2. mysqldump导出insert带字段
  3. idea安装drl插件
  4. 衡量激光雷达性能好坏的标准是什么?
  5. PostgreSQL的实践一:数据类型(一)
  6. pycharm远程开发
  7. PyCharm中的快捷键不能用怎么办?(复制粘贴)
  8. scrapy 伪装代理和fake_userAgent的使用
  9. Office 365 Pro Plus 离线安装包及自定义部署工具下载地址
  10. 网站建设对于哪些刚起步的企业是有必要的