數軸上有 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,表示乙個區間的兩個端點。輸出格式 輸出乙個整數,表示...