高階指南 畜欄預定

2021-10-10 10:22:28 字數 717 閱讀 6700

因為後面還需要每頭牛的編號,所以說明牛的區間排列之後還要還原,所以引入b記錄牛剛開始的位置方便還原

如果發現已經有的畜欄最小右邊>=準備進來牛的左邊,則再開一組畜欄,畜欄需要右邊和該位置的組數,所以要用結構體,記得過載 < 運算子

**如下:

#include using namespace std;

const int ma = 5e4 + 10;

struct stun[ma];//b代表第幾頭,n代表編號

int comp (stu a, stu c)

int comp1 (stu a, stu c)

struct qs

}a;priority_queueq;

int main()

sort(n,n+n,comp);

int num = 1; a.n = n[0].n = 1; a.mo = n[0].r;

q.push(a);

for (int i = 1 ;i < n; i++)

else

a.mo = n[i].r;

q.push(a);

} sort(n,n+n,comp1);

printf("%d\n",num);

for (int i =0 ; i < n; i++)

return 0;

}

畜欄預定(貪心)

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

YbtOJ高效高階 貪心 3 畜欄預定

ybtoj高效高階 貪心 3 有n頭牛在畜欄中吃草。每個畜欄在同一時間段只能提供給一頭牛吃草,所以可能會需要多個畜欄,給出第i頭牛開始吃草的時間區間 ai bi a i,b i ai b i 求需要的最少畜欄數和每頭牛對應的畜欄方案。5 1 10 2 43 6 5 84 7412 324對每頭牛的開...

貪心 Ybt 畜欄預定

同一時間內,乙個畜欄只能供一頭牛使用。給出一些牛需要使用畜欄的時間段,讓你求使用的最少畜欄數量與安排方案。輸入第一行乙個 n 代表牛的數量 接下來 2 n 1 行,每行兩個數,代表這頭牛使用畜欄的起始時間與結束時間。輸出第一行乙個數,代表最少畜欄數量。接下來 2 n 1 行,每行乙個數,代表這頭牛安...