POJ3614 貪心 優先佇列

2022-09-11 13:45:32 字數 734 閱讀 7583

題意:m頭牛每頭牛有minspf和maxspf,n種spf為spf[i]的防曬霜每種l[i]瓶,盡可能給數量多的牛塗防曬霜,每頭牛最多塗一瓶。

思路:貪心想法,實現是每次取出minspf<=spf[i]的牛加入優先佇列中,優先佇列以牛的maxspf為優先,給maxspf>=spf[i]且maxspf從小開始取的牛塗(優先佇列)。

#include#include

#include

#include

using

namespace

std;

pair

cow[2510

];pair

bot[2510

];struct

cmp

};priority_queue

int,int>,vectorint,int> >,cmp>pq;

intmain()

sort(cow,cow+c);

for(int i=0;i)

sort(bot,bot+l);

pair

temp;

int j=0

;

for(int i=0;i)

while(bot[i].second>0 && !pq.empty()) } }

printf(

"%d\n

",cnt);

return0;

}

view code

POJ 3614 優先佇列

題意 傳送門 poj 3614 對防曬霜按 spf 公升序排序,每次處理當前防曬霜,就將所有 spf 小於等於該 spf 值的牛入隊,此時入隊的牛也是其後處理的防曬霜的可能塗抹物件。為了使防曬的牛數量最大,當前處理的防曬霜選擇優先佇列中 spf 最大值最小的牛進行塗抹。include include...

POJ3614與優先佇列

優先佇列這個博主講的比較全 題意 奶牛曬太陽,有下限和上限,要保證曬到上下限之間,每瓶防曬霜可以固定一頭奶牛曬到乙個固定值,求最多幾頭奶牛可以達到要求 要點 先把奶牛按照最小值從小到大排序,在把防曬霜從小到大排序,從最小的防曬霜列舉,如果大於奶牛的最小值就把奶牛的最大值放入優先數列 從小到大 這樣的...

POJ 3614 Sunscreen 優先佇列

題目大意 給你一些母牛,母牛有能容忍日光浴的最小和最大光照強度。每只母牛可以塗一次spf,spf可以將母牛可以承受的光照強度固定在某個地方。現在給你母牛的最小和最大值和不同的spf的光照強度及其數量,求最多可以有多少母牛享受日光浴?思路 優先佇列。先按母牛最小承受的排好,然後spf的值也從小到大。接...