給定n個閉區間[ai,bi],請你將這些區間分成若干組,使得每組內部的區間兩兩之間(包括端點)沒有交集,並使得組數盡可能小。
輸出最小組數。
輸入格式
第一行包含整數n,表示區間數。接下來n行,每行包含兩個整數ai,bi,表示乙個區間的兩個端點。
輸出格式
輸出乙個整數,表示最小組數。
資料範圍
1≤n≤105,
−109≤ai≤bi≤109
輸入樣例:
3
-1 1
2 43 5
輸出樣例:
2
#include
#include
#include
#include
#include
using
namespace std;
const
int n =
1e5+5;
struct node nodes[n]
;bool
cmp(node a, node b)
int n, ans;
intmain()
sort
(nodes, nodes + n, cmp)
;//我們每次選擇右端點最小的組進行放區間 ,若無法放就新開乙個組
priority_queue<
int, vector<
int>
, greater<
int>
> q;
for(
int i =
0; i < n; i++
)else
}printf
("%d"
, q.
size()
);return0;
}
演算法(貪心 區間分組)
給定n個閉區間 ai,bi 請你將這些區間分成若干組,使得每組內部的區間兩兩之間 包括端點 沒有交集,並使得組數盡可能小。輸出最小組數。輸入格式 第一行包含整數n,表示區間數。接下來n行,每行包含兩個整數ai,bi,表示乙個區間的兩個端點。輸出格式 輸出乙個整數,表示最小組數。資料範圍 1 n 10...
區間問題 區間選點 區間問題 貪心
玄學的貪心問題,一般全憑直覺。貪心問題沒有固定討論,沒有模板,見多了就好了,證明想法的正確性是很困難的,大多採用反證法。905.區間選點 貪心思路 證明 時間複雜度 o n logn o nlogn o nlog n include include using namespace std const...
貪心區間問題
1 選擇不相交問題 51nod1133 數軸上有n個開區間 ai,bi 盡量選擇多個區間,是的這些區間兩兩之間沒有共同點。include include include include define ll long long define maxn 100005 int n using namesp...