題目大意:
給你一些母牛,母牛有能容忍日光浴的最小和最大光照強度。每只母牛可以塗一次spf,spf可以將母牛可以承受的光照強度固定在某個地方。現在給你母牛的最小和最大值和不同的spf的光照強度及其數量,求最多可以有多少母牛享受日光浴?
思路:優先佇列。
先按母牛最小承受的排好,然後spf的值也從小到大。
接下來用優先佇列(棧頂為最小的)。對於每個spf,如果乙隻母牛的最小值小於等於spf則將其最大值入隊。(貪心。。如兩個母牛乙隻【1,4】乙隻【1,5】那麼同樣情況下選【1,4】不會差於【1,5】)
詳見**。
#include#include#include#includeusing namespace std;
const int maxn=2500+10;
struct cow
};priority_queueq;
int main()
{ int c,l;
while(~scanf("%d%d",&c,&l))
{ while(!q.empty())
q.pop();
for(int i=0;i
POJ 3614 優先佇列
題意 傳送門 poj 3614 對防曬霜按 spf 公升序排序,每次處理當前防曬霜,就將所有 spf 小於等於該 spf 值的牛入隊,此時入隊的牛也是其後處理的防曬霜的可能塗抹物件。為了使防曬的牛數量最大,當前處理的防曬霜選擇優先佇列中 spf 最大值最小的牛進行塗抹。include include...
POJ3614與優先佇列
優先佇列這個博主講的比較全 題意 奶牛曬太陽,有下限和上限,要保證曬到上下限之間,每瓶防曬霜可以固定一頭奶牛曬到乙個固定值,求最多幾頭奶牛可以達到要求 要點 先把奶牛按照最小值從小到大排序,在把防曬霜從小到大排序,從最小的防曬霜列舉,如果大於奶牛的最小值就把奶牛的最大值放入優先數列 從小到大 這樣的...
POJ 3614 Sunscreen 優先佇列
題意 奶牛美容 有c頭奶牛日光浴,每頭奶牛分別需要minspf i和maxspf i單位強度之間的陽光。現有l種防曬霜,分別能使陽光強度穩定為spf i,其瓶數為cover i。求最多滿足多少頭奶牛 思路 將奶牛按照陽光強度的最小值從小到大排序。將防曬霜也按照能固定的陽光強度從小到大排序。從最小的防...