1643 線段覆蓋 3

2022-04-30 07:06:06 字數 878 閱讀 6006

時間限制: 2 s

空間限制: 256000 kb

題目等級 : ** gold

在乙個數軸上有n條線段,現要選取其中k條線段使得這k條線段兩兩沒有重合部分(端點可以重合),問最大的k為多少。

輸入描述 input description

輸入格式

輸入檔案的第1行為乙個正整數n,下面n行每行2個數字ai,bi,描述每條線段。

輸出描述 output description

輸出格式

輸出檔案僅包括1個整數,為k的最大值

樣例輸入 sample input

0 22 4

1 3樣例輸出 sample output

資料範圍及提示 data size & hint

資料範圍

對於20%的資料,n≤10;

對於50%的資料,n≤1000;

對於70%的資料,n≤100000;

對於100%的資料,n≤1000000,0≤ai<bi≤1000000。

1 #include2 #include3 #include4

using

namespace

std;

5const

int n=1000001;6

struct

nodes[n];

9bool

cmp(node a,node b)

1013

intmain()

1422 sort(s+1,s+n+1

,cmp);

23int ans=0;24

for(int i=1;i<=n-1;i++)

2531

}32 cout33 }

codevs 1643 線段覆蓋 3

資料大到nlogn沒法做。然而我做1的時候用的就是貪心演算法。所以無影響。並且到這個地步。基本上就是卡io操作了 輸入輸出 cin cout會比較慢 關閉流同步後能快一倍 再快就只能用scanf printf 或者手寫讀入函式 讀入優化技巧 includeusing namespace std de...

codevs 1643 線段覆蓋 3 貪心 快排

題目描述 description 在乙個數軸上有n條線段,現要選取其中k條線段使得這k條線段兩兩沒有重合部分 端點可以重合 問最大的k為多少。輸入描述 input description 輸入格式 輸入檔案的第1行為乙個正整數n,下面n行每行2個數字ai,bi,描述每條線段。輸出描述 output ...

線段樹線段覆蓋(離散化 區間覆蓋)

n n 10000 個人依次貼海報,給出每張海報所貼的範圍li,ri 1 li ri 10000000 求出最後還能看見多少張海報。input 第一行 樣例個數t 第二行 貼海報的人n 第三行 每個人貼海報的範圍 接下來n行 每個人貼海報的範圍 output 對於每乙個輸入,輸出最後可以看到的海報張...