小工具知识网

当前位置: 首页 > 行业知识 > 区间合并(超详细逐步讲解/例题/思路分析/参考代码)

行业知识

区间合并(超详细逐步讲解/例题/思路分析/参考代码)

2026-11-04 06:02:26 来源:互联网转载

区间合并超详解

  • 区间合并是什么?
  • 例1
    • 问题描述
    • 输入
    • 输出
    • 数据规模
    • 输入输出
      • 思路分析
      • 代码
      • 例2
        • 问题描述
        • 输入
        • 输出
        • 数据规模
        • 输入输出
          • 思路分析
          • 代码
          • 例3
            • 问题描述
            • 输入
            • 输出
            • 输入输出
              • 思路分析
              • 代码
              • 例4
                • 问题描述
                • 输入
                • 输出
                • 输入输出
                  • 参考代���

                    区间合并是什么?

                    我们要了解区间合并是什么,首先来看这样的一个例子。

                    区间2是区间1的一个子区间

                    区间3和区间1有交集

                    区间4和区间1端点在同一个点上

                    区间5和区间1没有交集

                    所以区间2,3,4都可以和区间1合并形成一个新的区间,区间5则不行。

                    总结:区间合并就是把多个区间有交集的部分,快速进行合并。

                    接下来我们通过一个例子来快速体验一下区间合并

                    例1

                    问题描述

                    给定2个闭区间 [a1,b1],[a2,b2],判断这两个区间能否合并成为一个新的区间。

                    任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1,2] 和 [2,3] 可以合并为[1,3] ;[1,3] 和 [2,4] 可以合并为 [1,4],但是 [1,2] 和 [3,4] 不可以合并。

                    我们的任务是判断这两个区间是否可以最终合并为一个闭区间,如果可以,输出 Yes,否则输出 No。

                    输入

                    一共两行。

                    第一行两个整数a1,b1 ,表示第一个区间。

                    第二行两个整数 a2,b2,表示第二个区间。

                    输出

                    两个区间是否可以最终合并为一个闭区间,如果可以,输出 Yes,否则输出 No。

                    数据规模

                    -1018 vectorlong long st, ed;scanf("%lld%lld", &st, &ed);segs.push_back({ st,ed });}sort(segs.begin(), segs.end());//对区间进行排序,确保第一个区间的左端点是最小的if (segs[0].second

上一篇:怎么搭建外网服务器路由器?

下一篇:宝塔面板网站无法访问?快速解决教程!