NOIP題庫區間合併

2021-07-24 04:24:36 字數 913 閱讀 8248

題目描述:

給定 n 個閉區間 [ai; bi],其中i=1,2,…,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,[1;2] 和 [2;3] 可以合併為 [1;3],[1;3] 和 [2;4] 可以合併為 [1;4],但是[1;2] 和 [3;4] 不可以合併。

我們的任務是判斷這些區間是否可以最終合併為乙個閉區間,如果可以,將這個閉區間輸出,否則輸出no。

輸入:

第一行為乙個整數n,3 ≤ n ≤ 50000。表示輸入區間的數量。

之後n行,在第i行上(1 ≤ i ≤ n),為兩個整數 ai 和 bi ,整數之間用乙個空格分隔,表示區間 [ai; bi](其中 1 ≤ ai ≤ bi ≤ 10000)。

輸出:

輸出一行,如果這些區間最終可以合併為乙個閉區間,輸出這個閉區間的左右邊界,用單個空格隔開;否則輸出 no。

#include

#include

#include

#include

using

namespace

std;

int n;

int l=10005,r=0;

struct hh

a[50005];

bool cmp(hh xx,hh yy)

return

true; //如果前面都不成立,直接返回真

}void f()

r=max(r,a[i].y); //把當前右邊界和當前點的右邊界取max

}cout

/全部更新完輸出左右邊界

}int main()

sort(a+1,a+n+1,cmp);

f();

return

0;}

sort**好,%%%sys

區間 區間合併

用x,y表示乙個整數範圍區間,現在輸入一組這樣的範圍區間 用空格隔開 請輸出這些區間的合併。輸入描述 一行整數,多個區間用空格隔開。區間的逗號是英文本元。輸出描述 合併後的區間,用過空格隔開,行末無空格示例1 1,3 2,51,5示例2 1,3 2,5 8,10 11,151,5 8,10 11,1...

mysql合併到區間 合併區間

lc 合併區間 給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 intervals 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 intervals 1,4 4,5 輸出 1,5 解釋 ...

56 57 合併區間 插入區間

給出乙個區間的集合,請合併所有重疊的區間。直接對區間起點進行排序,然後遍歷,判斷當前遍歷區間的起點是否在前一區間內,在的話,更新前一區間的終點為兩者終點最大值,不在的話直接將當前區間插入。class solution sort intervals.begin intervals.end const ...