洛谷P2434 SDOI2005 區間

2022-04-30 23:45:28 字數 1032 閱讀 8712

現給定\(n\)個閉區間\([a_i, b_i],1 \leq i \leq n\)。這些區間的並可以表示為一些不相交的閉區間的並。你的任務就是在這些表示方式中找出包含最少區間的方案。你的輸出應該按照區間的公升序排列。這裡如果說兩個區間\([a, b]\)和\([c, d]\)是按照公升序排列的,那麼我們有\(a \leq b。

請寫乙個程式:

讀入這些區間;

計算滿足給定條件的不相交閉區間;

把這些區間按照公升序輸出。

輸入格式:

第一行包含乙個整數\(n\),\(3 \leq n \leq 50000\),為區間的數目。以下\(n\)行為對區間的描述,第\(i\)行為對第\(i\)個區間的描述,為兩個整數\(1 \leq ai < bi \leq 1000000\),表示乙個區間\([a_i, b_i]\)。

輸出格式:

輸出計算出來的不相交的區間。每一行都是對乙個區間的描述,包括兩個用空格分開的整數,為區間的上下界。你應該把區間按照公升序排序。

輸入樣例#1:

5

5 61 4

10 10

6 98 10

輸出樣例#1:

1 4

5 10

思路:考慮差分,每次輸入\(x\)和\(y\),於是x的度++,\(y\)的度,然後再掃一遍,累積從\(0\)到+的就是左端點,從+到\(0\)的就是右端點。

**:

#include#include#include#define maxn 1000007

using namespace std;

int n,a[maxn],b[maxn],num,maxx;

inline int qread()

int main()

for(int i=1;i<=maxx;++i)

return 0;

}

洛谷 P2434 SDOI2005 區間

現給定n個閉區間 ai,bi 1 i n。這些區間的並可以表示為一些不相交的閉區間的並。你的任務就是在這些表示方式中找出包含最少區間的方案。你的輸出應該按照區間的公升序排列。這裡如果說兩個區間 a,b 和 c,d 是按照公升序排列的,那麼我們有a b請寫乙個程式 讀入這些區間 計算滿足給定條件的不相...

洛谷 P2434 SDOI2005 區間

題目描述 現給定n個閉區間 ai,bi 1 i n。這些區間的並可以表示為一些不相交的閉區間的並。你的任務就是在這些表示方式中找出包含最少區間的方案。你的輸出應該按照區間的公升序排列。這裡如果說兩個區間 a,b 和 c,d 是按照公升序排列的,那麼我們有a b c d。請寫乙個程式 讀入這些區間 計...

洛谷P2434 SDOI 區間

解題思路 這道題就是簡單的模擬啊。不過愣是沒有模擬對,看來還需要加強 實現能力。先按照左端點從小到大排序,每次驗證當前區間左端點是否大於設定的右端點,如果大於,說明不相交,就輸出設定的左右端點,如果小於等於,說明有相交的部分,不斷更新右端點。include include include inclu...