活動安排問題 (貪心)

2022-03-07 13:23:33 字數 1151 閱讀 3298

點選開啟鏈結

輸入

第1行:1個數n,線段的數量(2 <= n <= 10000)

第2 - n + 1行:每行2個數,線段的起點和終點(-10^9 <= s,e <= 10^9)

輸出

輸出最多可以選擇的線段數量。
輸入示例

3

1 52 3

3 6

輸出示例

2
請選取你熟悉的語言,並在下面的**框中完成你的程式,注意資料範圍,最終結果會造成int32溢位,這樣會輸出錯誤的答案。

不同語言如何處理輸入輸出,請檢視下面的語言說明。

c++ 輸入輸出處理及語言使用說明,請按這裡。

c++12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

3536

3738

39#include

#include

#include

#include

#include

#include

using

namespace

std;

struct

node

num[

100009];

bool

cmp1

(nodea,

nodeb)

intmain()

sort

(num+1,

num+n+1

,cmp1);

for(

inti=2

;i<=n;

i++)}

printf

("%d\n"

,count);

return0;

}恭喜!你的程式通過了所有的資料測試。

剛開始不太明白結束時間與開始時間的比較問題,現在想明白後就有了一種醍醐灌頂的感覺

貪心 活動安排問題

貪心演算法得到的並不一定是問題的整體最優解。但在這個問題中,貪心演算法最終確定的相容活動集合a的規模最大。描述 11件活動,各自有不同的開始和結束時間。求在所給活動的集合眾選出最大的相容活動子集合。include using namespace std bool a 11 int s 11 int ...

活動安排問題 貪心

有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input 第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是非負整數,小於10000...

貪心 活動安排問題

活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合,是可以用貪心演算法有效求解的很好例子。該問題要求高效地安排一系列爭用某一公共資源的活動。貪心演算法提供了乙個簡單 漂亮的方法使得盡可能多的活動能相容地使用公共資源。設有n個活動的集合e 其中每個活動都要求使用同一資源,如演講會場等,而在同...