點我挑戰此題
給出來n組節目的起止時間,讓求出所最多能**的完整節目個數。
貪心策略:按照節目的結束時間公升序排序,比較下一項的開始時間是否比上一項的結束時間大,是的話計數器+1,並且更新結束時間,否則的話繼續判斷下一項。直到遍歷完整個節目單,輸出計數器的值即可。
注意:排好序後,預設第乙個節目是看的,並且此時計數器為1。
至於為何按照結束時間排序,下面出乙個乙個ppt,感興趣的讀者可以自己分析一下。
貪心最重要的是選擇合適的貪心策略,才能快準ac。
貪心策略
/*
title:hdoj.2037
author:pengwill
date:2016-11-22
*/#include
#include
#include
#include
using namespace std;
struct timeitem[105];
int cmp(time a,time b)
sort(item,item+n,cmp);
temp = item[0].endt;
for(i= 0;i1;i++)
}printf("%d\n",cnt);
}return
0;}
hdoj 2037 今年暑假不AC
題目 可以這樣理解題意 將每個節目看做是乙個區間,起始時間為左右端點,待求的是 最多可以有多少個區間互不相交 注意 3,5 和 5,7 雖有共同的端點,但是是不相交的 思路 所選擇的區間長度 節目時間長短 越小,餘下的空餘區間就越多,所以長度小的區間,應該先被選中.因此,步驟如下 step1.對所有...
HDOJ 2037今年暑假不AC
問題描述 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播 永遠不要忘記關心國家大事 非常6 7 超級女生...
hdoj 2037 今年暑假不AC
題目 可以這樣理解題意 將每個節目看做是乙個區間,起始時間為左右端點,待求的是 最多可以有多少個區間互不相交 注意 3,5 和 5,7 雖有共同的端點,但是是不相交的 思路 所選擇的區間長度 節目時間長短 越小,餘下的空餘區間就越多,所以長度小的區間,應該先被選中.因此,步驟如下 step1.對所有...