51nod 1091 线段的重叠(贪心)
题意:
求两条线段的最大重叠
思路:
按照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 线段的重叠(贪心)相关推荐
- 51Nod 1091 线段的重叠(贪心+区间相关,板子题)
1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 2 ...
- 1091 线段的重叠
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 ...
- 51Nod-1091 线段的重叠【排序】
1091 线段的重叠 基准时间限制:1秒 空间限制:131072KB 分值:5难度:1级算法题 收藏 关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 ...
- 51nod 1091 重叠的线段(贪心)
题干: X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部 ...
- Canvas判断线段是否重叠
比如我们,想画一个完整的闭合的矩形,那我们就不能让线段进行重叠 那线段重叠了,判断的方法呢 canvas.onmouseup = function (e) {e = e || window.event ...
- 线段的重叠与不重叠问题
一.线段的重叠问题 #include<cstdio> include<iostream> include<algorithm> define N 50005 usi ...
- 【51Nod - 1133】不重叠的线段 (贪心)
题干: X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠的线段.(注:起点或终点重叠,不算重叠). 例如:151523233636,可以选23233636,这2条线段互不重叠 ...
- 1730: 数区间(线段覆盖,贪心)
1730: 数区间 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 月月唱歌超级好听的说!华华听说月月在某个网站发布了自己唱的歌曲,于是把完整的歌曲下载到了U盘 ...
- 【51Nod - 1432】独木舟 (贪心,思维,好题)
题干: n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? Input 第 ...
最新文章
- 使用 jQuery Deferred 和 Promise 创建响应式应用程序
- XenStore: 使用,结构和原理
- 解决在IOS系统及微信中audio、video不能自动播放的问题
- 一个自定义类型的运算符重载的例子
- 【HDU - 5418】Victor and World(tsp旅行商问题,状压dp,floyd最短路,图论)
- 怎样去理解@ComponentScan注解
- spark sql读取hive底层_[大数据]spark sql读写Hive数据不一致
- 2020未来科学大奖获奖名单公布 张亭栋、王振义等获奖
- 靠写代码赚钱的一些门路
- C语言水仙花数和总数,C语言与水仙花数
- wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
- 【libjpeg-turbo】安装指南[mac版]
- Redis迭代查询详解及其使用:Scan命令、Sscan命令、Hscan命令、Zscan命令
- 200410 笔试某居游戏公司数据分析岗前的准备
- 计算机软件工程专业大学排名专科,2020软件工程专业大学排名一览表
- arm嵌入式系统C语言代码,ARM嵌入式系统C语言编程.pdf
- 第三周 Access 课堂总结
- 基于SqlServer基本表的插入、修改和删除
- python漫画爬虫:我不做人了,b站!爬取辉夜大小姐等漫画
- 记一次Max模型导入到GIS平台歪了,尺寸不对过程分析