1461 飢餓的牛 貪心 優先佇列

2021-09-16 13:38:18 字數 875 閱讀 6971

時間限制: 1 sec  記憶體限制: 128 mb

提交: 25  解決: 14

您該題的狀態:已完成

[提交][狀態][討論版]

牛在飼料槽前排好了隊。飼料槽依次用1到n(1<=n<=2000)編號。每天晚上,一頭幸運的牛根據約翰的規則,吃其中一些槽裡的飼料。

約翰提供b個區間的清單。乙個區間是一對整數start-end,1<=start<=end<=n,表示一些連續的飼料槽,比如1-3,7-8,3-4等等。牛可以任意選擇區間,但是牛選擇的區間不能有重疊。

當然,牛希望自己能夠吃得越多越好。給出一些區間,幫助這只牛找一些區間,使它能吃到最多的東西。

在上面的例子中,1-3和3-4是重疊的;聰明的牛選擇,這樣可以吃到5個槽裡的東西。

第一行,整數b(1<=b<=1000)

第2到b+1行,每行兩個整數,表示乙個區間,較小的端點在前面。

僅乙個整數,表示最多能吃到多少個槽裡的食物。

3

1 37 8

3 4

5

優先佇列對結構體進行排列,讓末端點從小到大排列,在設定乙個標誌位,記錄上乙個區間的末端點,如果大於這個標誌,則進行累加。不大於的話,扔掉。

#include#include#include#includeusing namespace std;

typedef struct

node;

bool operator <(const node &a,const node &b)

int main()

while(!q.empty()) }

cout《加油,ヾ(◍°∇°◍)ノ゙

優先佇列貪心

最近做了幾個用優先佇列進行貪心的題目,這裡寫下來,以免忘了。1 cf 799 b 每次選最便宜的衣服,沒什麼好說的,一發過 include include include include include define n 6005 define inf 0x3f3f3f3f include incl...

貪心演算法牛擠奶 優先佇列解法

有n頭牛 1 n 50,000 要 給定每頭牛 的時間區間a,b。牛需要呆在畜欄裡才能 乙個畜欄同一時間只能容納一頭牛。問至少需要多少個畜欄,才能完成全部 工作,以及每頭牛都放哪個畜欄裡?注意 在同乙個畜欄的兩頭牛,它們 時間區間不能在端點重合。輸入格式 第1行 乙個正整數n 第2 n 1行 第i ...

貪心加優先佇列

消滅兔子 李陶冶 命題人 基準時間限制 1 秒 空間限制 131072 kb 分值 40 有n只兔子,每只有乙個血量b i 需要用箭殺死免子。有m種不同型別的箭可以選擇,每種箭對兔子的傷害值分別為d i 為p i 1 i m 假設每種箭只能使用一次,每只免子也只能被射一次,計算要消滅地圖上的所有兔子...