區間分組問題 貪心

2021-09-29 04:28:13 字數 1096 閱讀 3929

給定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...