2019-04-19

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2037

題目要求:

如何合理安排看盡量多的完整節(jié)目?

image.png

做題思路:

該題的目的是將列表的節(jié)目盡可能多地完整地看一遍,于是就可以用貪心算法------區(qū)間調(diào)度------來求解.

我們將電視節(jié)目分為12個區(qū)間,要求完整看完區(qū)間,就不能有區(qū)間的覆蓋.同時要讓區(qū)間與區(qū)間的距離盡量小.

我們在選下一個節(jié)目時首先保證他開始的時間要在上一個節(jié)目結(jié)束之后,然后從所有符合條件的節(jié)目當中選取結(jié)束時間最早的即可.

于是可以對節(jié)目結(jié)束時間進行小到大的排序.如圖:


image.png

然后先選取第一個區(qū)間,然后以 " 下一個節(jié)目的開始時間 >= 上一個節(jié)目的結(jié)束時間 " 為條件逐個往下選擇.

代碼:

/*電視節(jié)目對象*/

public class TVshow {

private int start;

        private int end;

        public int getStart() {

        return start;

    }

public void setStart(int start) {

        this.start = start;

    }

public int getEnd() {

        return end;

    }

public void setEnd(int end) {

        this.end = end;

    }

public TVshow(int start, int end) {

        this.start = start;

        this.end = end;

    }

}
/*對節(jié)目排序*/  
import java.util.Comparator;

public class Cmpimplements Comparator {

@Override

    public int compare(TVshow o1, TVshow o2) {

            return (o1.getEnd()>o2.getEnd())?1:-1;//按結(jié)束時間排序

    }

}
import java.util.Arrays;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input =new Scanner(System.in);

        while(input.hasNextLine()) {

               int number = input.nextInt();

                if(number ==0)break;

                TVshow [] tVshows =new TVshow[number];//存放電視節(jié)目對象

              for (int i =0;i < number;i++) {

                  int start_time = input.nextInt();

                  int end_time = input.nextInt();

                  tVshows[i] =new TVshow(start_time,end_time);//存放時間區(qū)間
  
            }

            Arrays.sort(tVshows,new Cmp());//排序

            int value_num =0;//記錄最多可以看多少節(jié)目

            int pre_etime =0;//上一個節(jié)目的結(jié)束時間

            for (int i =0;i < number;i++) {

                 int stime = tVshows[i].getStart();      

                  int etime = tVshows[i].getEnd();

                  if(stime >= pre_etime) {      //判斷條件

                      value_num++;

                      pre_etime = etime;

                }

           }

             System.out.println(value_num);

        }

}

}

/*

12

1          3

3          4

0          7

3          8

2          9

5          10

6          12

4          14

10          15

8          18

15          19

15          20

*/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洛姑,更是在濱河造成了極大的恐慌,老刑警劉巖革骨,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凄硼,死亡現(xiàn)場離奇詭異苇瓣,居然都是意外死亡奇徒,警方通過查閱死者的電腦和手機雏亚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摩钙,“玉大人罢低,你說我怎么就攤上這事∨值眩” “怎么了网持?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長长踊。 經(jīng)常有香客問我功舀,道長,這世上最難降的妖魔是什么身弊? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任辟汰,我火速辦了婚禮,結(jié)果婚禮上佑刷,老公的妹妹穿的比我還像新娘莉擒。我一直安慰自己酿炸,他們只是感情好瘫絮,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著填硕,像睡著了一般麦萤。 火紅的嫁衣襯著肌膚如雪鹿鳖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天壮莹,我揣著相機與錄音翅帜,去河邊找鬼。 笑死命满,一個胖子當著我的面吹牛涝滴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胶台,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼歼疮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了诈唬?” 一聲冷哼從身側(cè)響起韩脏,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铸磅,沒想到半個月后赡矢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡阅仔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年吹散,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片八酒。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡送浊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丘跌,到底是詐尸還是另有隱情袭景,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布闭树,位于F島的核電站耸棒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏报辱。R本人自食惡果不足惜与殃,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碍现。 院中可真熱鬧幅疼,春花似錦、人聲如沸昼接。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慢睡。三九已至逐工,卻和暖如春铡溪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泪喊。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工棕硫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袒啼。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓哈扮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蚓再。 傳聞我的和親對象是個殘疾皇子灶泵,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354