區間選點問題

2021-10-03 21:50:00 字數 546 閱讀 8548

數軸上有 n 個閉區間 [a_i, b_i]。取盡量少的點,使得每個區間內都至少有乙個點(不同區間內含的點可以是同乙個)

【輸入】第一行1個整數n(n<=100)第2~n+1行,每行兩個整數a,b(a,b<=100)

【輸出】乙個整數,代表選點的數目

【樣例輸入】

21 5

4 6【樣例輸出】

11、對於數軸上的n個閉區間,為了選取盡量少的點,則將區間按b從小到大排(b相同時a從大到小排序)這樣可使得右端點相同的區間只要取該右端點就可使這些區間內都至少有乙個點

2、第乙個區間取最後乙個點,後續依次判斷該點是否在下乙個區間中,若在該區間中則跳過繼續判斷,若不在該區間中則選擇該區間的右端點作為新點進行判斷。

#include

#include

using

namespace std;

struct q

;bool

compare

(q m,q n)

intmain()

} cout<}

區間問題 區間選點 區間問題 貪心

玄學的貪心問題,一般全憑直覺。貪心問題沒有固定討論,沒有模板,見多了就好了,證明想法的正確性是很困難的,大多採用反證法。905.區間選點 貪心思路 證明 時間複雜度 o n logn o nlogn o nlog n include include using namespace std const...

nyoj區間選點問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 家住非洲的小孩,都很黑。為什麼呢?第一,他們地處熱帶,太陽輻射嚴重。第二,他們不經常洗澡。常年缺水,怎麼洗澡。現在,在乙個非洲部落裡,他們只有乙個地方洗澡,並且,洗澡時間很短,瞬間有木有!這也是沒有的辦法,缺水啊!每個小孩有乙個...

貪心 區間選點問題

數軸上有 n 個閉區間 a i,b i 取盡量少的點,使得每個區間內都至少有乙個點 不同區間內含的點可以是同乙個 第一行1個整數n n 100 第2 n 1行,每行兩個整數a,b a,b 100 乙個整數,代表選點的數目 input 21546 output 1input 3132546 outpu...