2628: 【USACO2014JAN】滑雪录像{silver题3}

Memory Limit:256 MB Time Limit:2.000 S
Judge Style:Text Compare Creator:
Submit:143 Solved:70

Description

2. 滑雪录像{silver3}

【问题描述】

   冬奥会的电视时刻表包含N (1 <= N <= 150)个节目,每个节目都有开始和结束时间。农民约翰有两台录像机,请计算他最多可以录制多少个节目。

【文件输入】

第一行,一个整数N。

接下来N行每行两个整数,表示一个节目的开始和结束时间,范围为0..1,000,000,000。

【文件输出】

一个整数,表示最多可以录制的节目数量。

【输入样例】

6

0 3

6 7

3 10

1 5

2 8

1 9

【输出样例】

4

【样例说明】

第1台录制节目1和3,第2台录制节目2和4。

Sample Input Copy

6
0 3
6 7
3 10
1 5
2 8
1 9

Sample Output Copy

4

HINT

贪心的思路就是,首先按照结束时间b[i]进行排序,(为什么不用开始时间呢,因为如果按照开始时间排序,会出现开始时间很小,但是时间段很长的情况,这样的话,就会影响最优)。 然后设两个变量来记录两个相机当前节目的结束时间,然后从1到n个节目进行比较,可加入就加入。

PS:当两个相机都可以加入的时候,应选取结束时间靠后的相机加入。原因:因为是按照结束时间排序,有可能会出现后来的节目开始时间比此节目靠前,此时可将其加入到之前结束时间靠前的相机中。

举例说明:

|------|  结尾时间4

|----------|  结尾时间6

比如上面为两个相机已加入的时间段, 现在再加入一条开始时间为9的,则应加入到第二个,因为如果下一个节目开始时间为5,则又可以加入到第一个,若将9的加入到第一个, 则5的就无法加入,就无法最优。