活動選擇 貪心

2021-10-23 04:30:57 字數 1132 閱讀 2676

題目描述

假設有乙個需要使用某一資源的n個活動所組成的集合s,s=。該資源一次只能被乙個活動所占用,每乙個活動有乙個開始時間bi和結束時間ei(bi<=ei)。若bi>=ej或bj>=ei,則稱活動i和活動j相容。你的任務是:選擇由互相相容的活動所組成的最大集合。

輸入共n+1行,其中第1行為n,第2行到第n+1行表示n個活動的開始時間和結束時間(中間用空格隔開),格式為:

nn(n<=1000)

b1 e1

bn en

輸出最大能滿足的活動數量

樣例輸入

113 5

1 412 14

8 12

0 68 11

6 10

5 73 8

5 92 13

樣例輸出

4貪心,盡早結束的先選。

#include

using

namespace std;

#define inf 0x3f3f3f3f

#define full(a,b) memset(a,b,sizeof a)

#define ll long long

#define ui unsigned int

intread()

#define debug 1

#define n 1005

int n,ans;

struct node

arr[n]

;int

cmp(node x,node y)

intmain()

n=read()

;for

(int i=

1; i<=n; i++

)sort

(arr+

1,arr+

1+n,cmp)

;int x=-1

;//記錄最晚的時間

for(

int i=

1; i<=n; i++)if

(arr[i]

.a>=x)

++ans,x=arr[i]

.b;//重新整理時間

printf

("%d"

,ans)

;return0;

}

活動選擇 貪心)

time limit 1000ms memory limit 65536kb problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活...

貪心 活動選擇

problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學...

活動選擇問題(貪心)

time limit 1000ms memory limit 65536k 有疑問?點這裡 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請...