905. 區間選點
給定n個閉區間[ai,bi],請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。
輸出選擇的點的最小數量。
位於區間端點上的點也算作區間內。
輸入格式
第一行包含整數n,表示區間數。
接下來n行,每行包含兩個整數ai,bi,表示乙個區間的兩個端點。
輸出格式
輸出乙個整數,表示所需的點的最小數量。
資料範圍
1≤n≤105,
−109≤ai≤bi≤109
輸入樣例:
輸出樣例:3-1
1243
5
2
思路:
將每個點的右邊界進行排序,每次選取有邊界作為乙個點,然後去進行乙個列舉。
主要思想
貪心 區間
#include
#include
using
namespace std;
typedef pair<
int,
int> pii;
#define l first
#define r second
const
int n=
1e5+10;
pii loc[n]
;bool
cmp(pii a,pii b)
intmain
(void);
}sort
(loc,loc+n,cmp)
;int reg=
-0x3f3f3f3f
;int cnt=0;
for(
int i=
0;icout<}
Acwing 905 區間選點
給定n個閉區間 ai,bi 請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。輸出選擇的點的最小數量。位於區間端點上的點也算作區間內。輸入格式 第一行包含整數n,表示區間數。接下來n行,每行包含兩個整數ai,bi 表示乙個區間的兩個端點。輸出格式 輸出乙個整數,表示所需的點的最小數量。...
905 區間選點(貪心)
題目傳送門 題解思路參考大佬 給定 n 個閉區間 ai bi a i,b i ai b i 請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。輸出選擇的點的最小數量。位於區間端點上的點也算作區間內。輸入格式 第一行包含整數 n 表示區間數。接下來 n 行,每行包含兩個整數ai,bi a...
1 區間選點 區間問題
區間問題一般都需要對區間進行排序,對左端點排序,或對右端點排序,或雙關鍵字排序 然後需要 證明這樣的選法選出來的點數一定是符合答案的,且是選點最少的 首先按照這個方法來選的話,每乙個區間上一定選了乙個點,所以這種選法是一種合法的方案 然後這道題的最優解是指所有合法方案中的選點最少的,所以 所以ans...