貪心入門題 看電視(區間排程問題)

2021-07-31 03:18:05 字數 824 閱讀 6204

時間限制: 1 sec  

記憶體限制: 32 mb

提交: 7  

解決: 6 [

提交][

狀態][

討論版]

暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。

現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?

輸入包含多組測試資料。每組輸入的第一行是乙個整數n(n<=100),表示小明喜歡的節目的總數。

接下來n行,每行輸入兩個整數si和ei(1<=i<=n),表示第i個節目的開始和結束時間,為了簡化問題,每個時間都用乙個正整數表示。

當n=0時,輸入結束。

對於每組輸入,輸出能完整看到的電視節目的個數。

12

1 33 4

0 73 8

15 19

15 20

10 15

8 18

6 12

5 10

4 14

2 90

5
提示

分析:首先進行結構體排序,這道題的關鍵就在於結構體排序時所選用的排列方法,如果以電視節目的開始時間排序的話,那麼可能出現電視節目放的早結束的晚這種情況,這顯然不是最優解,所以我們對電視節目的結束時間進行排序,這樣向下遍歷,因為是按結束順序排列的,向下遍歷的時候只會提前到達目標位置。這樣的結果就是最優的解。

#include using namespace std;

struct node; 

node a[105];

bool cmp(node a,node b)

}cout<

問題 A 看電視 區間貪心演算法

題目描述 暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei ...

貪心問題 A 看電視

題目描述 暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入 輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei...

區間排程問題(貪心)

問題描述 有n項工作,每項工作分別在si開始,ti結束。對每項工作,你都可以選擇參加或不參加,但選擇了參加某項工作就必須至始至終參加全程參與,即參與工作的時間段不能有重疊 即使開始的時間和結束的時間重疊都不行 問最多可以完成多少項工作?限制條件 1 n 100000 1 si ti 10 9 第二行...