HDOJ 2037 今年暑假不AC (貪心)

2021-07-24 19:47:14 字數 697 閱讀 4831

點我挑戰此題

給出來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.對所有...