區間選點(貪心演算法)

2021-10-03 23:00:39 字數 1118 閱讀 1373

數軸上有 n 個閉區間 [a

ia_i

ai​, b

ib_i

bi​]。取盡量少的點,使得每個區間內都至少有乙個點(不同區間內含的點可以是同乙個)

輸入要求:

第一行輸入整數n,第2~n-1行,每行輸入兩個整數,表示a

ia_i

ai​和 b

ib_i

bi​輸出要求:

輸出選點的數目

sample input:

215

46

sample output:

1
struct section 

section

(int _a,

int _b)

bool

operator

<

(const section &s)

};

while

(!vec.

empty()

)}vec.

erase

(vec.

begin()

);}

#include

#include

#include

using

namespace std;

struct section

section

(int _a,

int _b)

bool

operator

<

(const section &s)};

vector vec;

intmain()

sort

(vec.

begin()

, vec.

end())

;int sum =0;

while

(!vec.

empty()

)}vec.

erase

(vec.

begin()

);} cout << sum << endl;

}

B 區間選點 貪心演算法

數軸上有 n 個閉區間 a i,b i 取盡量少的點,使得每個區間內都至少有乙個點,輸出選點的數目。樣例輸入輸出 定義乙個結構體表示區間,讀入資料後,進行多關鍵字排序 第一為右區間小的在前,第二為左區間大的在前 從開始選擇第乙個區間的右端點point,向後迴圈,若point在該區間內,則繼續迴圈,直...

Week3 B 區間選點 貪心演算法

題目大意 數軸上有 n 個閉區間 a i,b i 取盡量少的點,使得每個區間內都至少有乙個點 同區間內含的點可以是同乙個 思路本題是一道貪心問題,解決問題的關鍵是尋找恰當的貪心的方法。這道題採用如下貪心方法 為什麼上述做法可以實現選點最少呢?在按照上述方法排序後,我們從左往右想。對於第乙個區間,其中...

區間選點 貪心

給定n個閉區間 ai,biai,bi 請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。輸出選擇的點的最小數量。位於區間端點上的點也算作區間內。輸入格式 第一行包含整數n,表示區間數。接下來n行,每行包含兩個整數ai,biai,bi,表示乙個區間的兩個端點。輸出格式 輸出乙個整數,表示...