AcWing 803 區間合併

2022-06-05 13:30:11 字數 851 閱讀 6229

給定 n 個區間 [li,ri],要求合併所有有交集的區間。

注意如果在端點處相交,也算有交集。

輸出合併完成後的區間個數。

例如:[1,3]和[2,6]可以合併為乙個區間[1,6]。

第一行包含整數n。

接下來n行,每行包含兩個整數 l 和 r。

共一行,包含乙個整數,表示合併區間完成後的區間個數。

1≤n≤100000,

−109≤li≤ri≤109

5

1 22 4

5 67 8

7 9

輸出樣例:

3

這個題目是貪心 + 模擬,先按區間的左端點給每個區間排序,然後掃瞄每乙個區間即可

**如下

#include #include #include using namespace std;

typedef pairpii;

const int n = 1e5 + 10;

int n;

vectorsegs;

vectormeger(vector& segs));

st = seg.first, ed = seg.second;

}else ed = max(ed, seg.second);

}if(st != -2e9) ret.push_back();

return ret;

}int main());

}auto ret = meger(segs);

cout << ret.size() << endl;

return 0;

}

AcWing 803 區間合併 C

注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間個數。資料範圍 1 n 100000,109 li ri 1...

區間合併 AcWing 803

include include include using namespace std typedef pair pii intn void merge vector interval 第一次在這裡初始化 st item.first,ed item.second 第一段區間從這裡開始 else ed...

803 區間合併

給定 n 個區間 l i,r i 要求合併所有有交集的區間。注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間...