洛谷 P2434 SDOI2005 區間

2021-07-24 11:54:26 字數 1161 閱讀 5923

題目描述

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

請寫乙個程式:

讀入這些區間;

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

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

輸入輸出格式

輸入格式:

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

輸出格式:

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

輸入輸出樣例

輸入樣例#1:

5 5 6

1 4

10 10

6 9

8 10

輸出樣例#1:

1 4

5 10

【分析】

差分…

這題也就卡個題面了…結果難度為提高…

剛剛貌似被我刷成普及難度了…233

【**】

//p2434 [sdoi2005]區間

#include

#include

#include

#include

#include

#define ll long long

#define m(a) memset(a,0,sizeof a)

#define fo(i,j,k) for(i=j;i<=k;i++)

using

namespace

std;

const

int mxn=50005;

int n,mx;

int res[1000005];

struct qj a[mxn];

int main()

fo(i,1,mx) res[i]=res[i-1]+res[i];

fo(i,1,mx)

return

0;}

洛谷 P2434 SDOI2005 區間

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

洛谷P2434 SDOI2005 區間

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

洛谷P2434 SDOI 區間

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