POJ 2376(Cleaning Shifts)

題目鏈接:https://vjudge.net/problem/POJ-2376
意思:貪心題疚脐,給定牛的數(shù)量和工作時(shí)長(zhǎng)以及每頭牛的工作時(shí)間段,要求用最少的牛旨指,覆蓋所有的工作時(shí)間。
思路:先將牛開(kāi)始的工作時(shí)間排序,然后比較他們的結(jié)束時(shí)間丛晦,選擇結(jié)束的最晚的,一定是最有解提陶,然后從結(jié)束的最晚的時(shí)間往前找烫沙,再在范圍內(nèi)繼續(xù)尋找結(jié)束的最晚的,一直到工作結(jié)束隙笆。
提醒:如1-2锌蓄,3-4時(shí)刻是可以算覆蓋整個(gè)1-4的工作時(shí)間的,結(jié)束時(shí)間是指把這一個(gè)時(shí)間干完后再結(jié)束仲器,所以應(yīng)該從最晚時(shí)間+1再向前尋找煤率。
代碼:
#include<cstdio>
#include<vector>
#include<algorithm>

struct cow{
int start,end;
};

bool cmp(const cow & a,const cow & b){//自定義排序
return a.start<b.start;
}

int main(){
int n,t;
while(scanf("%d%d",&n,&t)==2){
cow now;
std::vector<cow> all;
int p = n;
while(n--){
scanf("%d%d",&now.start,&now.end);
all.push_back(now);
}
sort(all.begin(),all.end(),cmp);
int times = 0; //當(dāng)前時(shí)間
int result = -1; //記錄結(jié)果
int max = 0; // 當(dāng)前可以跳至的最大end值
int nexti = 0; //當(dāng)前的vector數(shù)組位置

while(times<t){
    while(all[nexti].start<=times+1&&nexti<p){//一定要記住判斷越界啊之前就是沒(méi)判斷不會(huì)報(bào)錯(cuò)但是就是WA
        max = max>all[nexti].end?max:all[nexti].end;
        nexti++;
    }
    if(times==max){result=-1;break;}//如果max的值沒(méi)有更改說(shuō)明在原地一直循環(huán),說(shuō)明沒(méi)有辦法覆蓋整個(gè)工作時(shí)間段乏冀,則選擇跳出蝶糯。
    times = max;
    result++;
}

if(result!=-1)result++;
printf("%d\n",result);

}
return 0;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市辆沦,隨后出現(xiàn)的幾起案子昼捍,更是在濱河造成了極大的恐慌,老刑警劉巖肢扯,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妒茬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蔚晨,警方通過(guò)查閱死者的電腦和手機(jī)乍钻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铭腕,“玉大人银择,你說(shuō)我怎么就攤上這事±巯希” “怎么了浩考?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)被盈。 經(jīng)常有香客問(wèn)我析孽,道長(zhǎng)搭伤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任袜瞬,我火速辦了婚禮怜俐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吞滞。我一直安慰自己佑菩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布裁赠。 她就那樣靜靜地躺著殿漠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪佩捞。 梳的紋絲不亂的頭發(fā)上绞幌,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音一忱,去河邊找鬼莲蜘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛帘营,可吹牛的內(nèi)容都是我干的票渠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼芬迄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼问顷!你這毒婦竟也來(lái)了圣猎?” 一聲冷哼從身側(cè)響起邓深,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚌本,沒(méi)想到半個(gè)月后算途,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體塞耕,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年嘴瓤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扫外。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡廓脆,死狀恐怖畏浆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狞贱,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布蜀涨,位于F島的核電站瞎嬉,受9級(jí)特大地震影響蝎毡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氧枣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一沐兵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧便监,春花似錦扎谎、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至逊移,卻和暖如春预吆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背胳泉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工拐叉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扇商。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓凤瘦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親案铺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔬芥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容