AcWing 111 畜欄預定

2021-09-29 09:43:44 字數 767 閱讀 7296

很明顯的貪心

就是讓乙個柵欄盡可能多的放牛

按左端點排序,即每頭牛開始吃草的時間

維護最後一頭牛的吃草結束的時間

如果當前的牛可以跟他拼柵欄,那就拼,否則新開乙個柵欄

詳細看**注釋

#include

#define a 50010

#define pi pair

#define fi first

#define se second

using

namespace std;

int n, id[a]

; pairint> c[a]

;priority_queue

, greater

> q;

intmain

(int argc,

char

const

*ar**)

;//把這個牛的資訊放進去,

id[c[i]

.se]

= fr.se; q.

push

(fr)

;//更新這頭牛所在的柵欄

}else

cout << q.

size()

<< endl;

for(

int i =

1; i <= n; i++

)printf

("%d\n"

, id[i]+1

);return0;

}

題解 AcWing 111 畜欄預定

有n頭牛在畜欄中吃草。每個畜欄在同一時間段只能提供給一頭牛吃草,所以可能會需要多個畜欄。給定n頭牛和每頭牛開始吃草的時間a以及結束吃草的時間b,每頭牛在 a,b 這一時間段內都會一直吃草。當兩頭牛的吃草區間存在交集時 包括端點 這兩頭牛不能被安排在同乙個畜欄吃草。求需要的最小畜欄數目和每頭牛對應的畜...

acwing111 畜欄預定 排序,貪心,模擬

有n頭牛在畜欄中吃草。每個畜欄在同一時間段只能提供給一頭牛吃草,所以可能會需要多個畜欄。給定n頭牛和每頭牛開始吃草的時間a以及結束吃草的時間b,每頭牛在 a,b 這一時間段內都會一直吃草。當兩頭牛的吃草區間存在交集時 包括端點 這兩頭牛不能被安排在同乙個畜欄吃草。求需要的最小畜欄數目和每頭牛對應的畜...

畜欄預定(貪心)

有n頭牛在畜欄中吃草。每個畜欄在同一時間段只能提供給一頭牛吃草,所以可能會需要多個畜欄。給定n頭牛和每頭牛開始吃草的時間a以及結束吃草的時間b,每頭牛在 a,b 這一時間段內都會一直吃草。當兩頭牛的吃草區間存在交集時 包括端點 這兩頭牛不能被安排在同乙個畜欄吃草。求需要的最小畜欄數目和每頭牛對應的畜...