NYOJ 選擇不相交區間 貪心

2021-08-31 21:27:21 字數 846 閱讀 9140

那麼,對於該問題。就是給一系列的區間,求最多的區間,要求區間個數最多,這些區間不相交,需要注意的是這些區間都是閉區間。

第一行乙個數n為區間個數(n<=1000)

接下來有n行,每行有兩個數a,b分別為區間的兩個端點,a,b在int範圍。

eof結尾。

輸出如樣例所示。
2

1 10

10 11

31 10

10 11

11 20

case 1:

1.case 2:

2.

選擇不相交區間問題:貪心思想,先按b從小到大進行排序,再選擇b0作為選點temp,如果出現ai>temp,則以bi作為temp,再按照這樣的方式迭代,直至所有區間遍歷完。這道題有點坑,輸入的時候要判斷兩個端點的大小。

#include #include using namespace std;

struct edge e[1010];

int cmp(edge a, edge b)

int main()

sort(e, e + n, cmp);

temp = e[0].r;

for (int i = 1; i < n; i++)

}cout << "case " << t++ << ":\n" << ans << ".\n";

} return 0;

}

選擇不相交區間(貪心)

數軸上有n個區間 ai,bi 要求選擇盡量多個區間,使得這些區間兩兩沒有公共點。貪心策略 按照b1 b2 b3 的方式排序,然後從前向後遍歷,每當遇到可以加入集合的區間,就把它加入集合。集合代表解的集合 證明 我們對a1,a2 的關係分以下幾種情況考慮 1 a1 a2。此時區間2包含區間1。這種情況...

區間貪心之選擇不相交區間

區間相交問題 description 給定x軸上n個閉區間。去掉盡可能少的閉區間,使剩下的閉區間都不相交。給定n個閉區間,計算去掉的最少閉區間數。input 輸入第一行是正整數n n 100 表示閉區間數。接下來的n行中,每行有兩個整數 可以是負數 分別表示閉區間的兩個數端點。output 輸出去掉...

貪心 選擇不相交區間問題

1.p1803 凌亂的yyy 線段覆蓋 題目描述 現在各大 oj 上有 n 個比賽,每個比賽的開始 結束的時間點是知道的。yyy 認為,參加越多的比賽,noip 就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於 yyy 是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加 2 個及以...