当前位置: 首页 > news >正文

银川网站建设公司深圳网络推广系统

银川网站建设公司,深圳网络推广系统,自己制作上传图片的网站怎么做,app开发建设公司直接上题目,不废话! 题目 给定 n 个区间 [l,r],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。 输入格式 第一行包含整数 n。 接下来 n 行&am…

直接上题目,不废话! 

题目

给定 n 个区间 [l,r],要求合并所有有交集的区间。

注意如果在端点处相交,也算有交集。

输出合并完成后的区间个数。

例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。

输入格式
第一行包含整数 n。

接下来 n 行,每行包含两个整数 l 和 r。

输出格式
共一行,包含一个整数,表示合并区间完成后的区间个数。

数据范围

1≤n≤100000,
−10e9≤l≤r≤10e9
输入样例:

5
1 2
2 4
5 6
7 8
7 9


输出样例:

3

思路 

对于这n个区间,我们可以先用vector数组存放,然后再对左端点进行排序, 排完序后,后一个区间的左端点就一定大于等于前一个区间的左端点了,如图,蓝色是一个维护的区间,st和ed分别是维护区间的左右端点

相邻的两个区间只有这三种情况,绿色和红色可以归为一种,就是它的左端点小于等于蓝色的右端点,那我们的维护区间的右端点就要取(蓝色的右端点,对比区间的右端点)的最大值,当出现橙色这种情况就说明蓝色区间已经是一个答案区间了

代码 

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;typedef pair <int,int> PII;
vector <PII> segs; //输入的初始区间数组int n;void merge(vector <PII> &segs)
{vector <PII> res; // 定义的答案区间数组sort(segs.begin(), segs.end()); //按左端点的大小排序int st = -2e9, ed = -2e9; //分别是维护区间的左右端点,取一个很小值,确保小于所有的有效值/*for (auto item:vec)不改变迭代对象的值,效果是利用item遍历并获得vec容器中的每一个值*/for (auto seg : segs){if (ed < seg.first) //维护区间的右端点和对比区间的左端点不相交就是已经是合并好了一个答案区间{if (ed != -2e9) //两个if(ed!=-2e9)是确保初始值不被加入到答案数组{res.push_back({ st,ed });}st = seg.first, ed = seg.second; //更新维护区间}else{ed = max(ed, seg.second);}}if(ed!=-2e9) //如果区间不为空,那么最后一个区间一定是一个独立的答案区间res.push_back({ st,ed });segs = res; 
}
int main()
{cin >> n;while (n--){int l, r;cin >> l >> r;segs.push_back({ l,r });}merge(segs);cout << segs.size() << endl;return 0;
}

http://www.yidumall.com/news/99822.html

相关文章:

  • html做动态网站吗厦门人才网最新招聘信息网
  • 凡客网站建设排行榜前十名
  • 腾讯云是做网站的吗针对百度关键词策划和seo的优化
  • 阿里巴巴上做英文网站一年多少钱北京网站优化合作
  • 企业网站制作报价表站长工具seo综合查询工具
  • 网页设计作业个人网站天津seo关键词排名优化
  • 无障碍网站建设烟台seo网络推广
  • 照片做视频的网站seo关键词排名优化哪好
  • 网站视觉分析广告网站留电话不用验证码
  • 通用网站后台管理系统(php版) 1.6怎么用行业关键词词库
  • 邢台县教育局五库建设网站seo线下培训课程
  • php钓鱼网站开发销售
  • 网站怎么做留言板海淀seo搜索引擎优化公司
  • 如何做好营销seo优化名词解释
  • 做网站备案需要啥资料百度视频广告怎么投放
  • 个别网站网速慢怎么做企业推广网站
  • 网站实时推送怎么做滁州网站seo
  • 淘宝刷单网站开发疫情防控数据
  • 帮客户做ppt什么的在哪个网站百度平台商家
  • 深圳网站建设 设计卓越想做电商怎么入手
  • 中山外贸网站建设优化网站搜索排名
  • 怎么做网站banner在线资源链接
  • 建筑网站带图解谷歌seo网站推广怎么做
  • 如何在谷歌上做网站一个免费的网站
  • 厦门微信网站建seo外包收费
  • wordpress 李贤威seo推广排名公司
  • 小尾巴 wordpress上海外包seo
  • 三星做号网站商丘网络推广公司
  • 网站开发和移动开发泸州网站seo
  • 如何构建个人网站谷歌广告投放教程