bzoj1216 堆,呵呵的模擬

2021-07-17 00:15:14 字數 625 閱讀 7203

就是堆的應用,實現的時候會有點奇怪的技巧

now作為當前時間,順序列舉每乙個程序的到來,注意在每乙個程序來之前要處理完成前面的所有程序!

注意放乙個哨兵元素lev為-inf,rest為inf,防止bug,

#include#include#include#include#include#includeusing namespace std;

const int inf=0x3f3f3f3f;

inline int read()

struct aa

int now=0;

aa tmp;

tmp.rest=inf;

tmp.lev=-inf;

heap.push(tmp);

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

aa v=heap.top();

heap.pop();

v.rest-=now1-now;

heap.push(v);

heap.push(a[i]);

now=now1; }

while (heap.top().lev!=-inf)

return 0;

}

BZOJ1216 作業系統(堆,模擬)

寫乙個程式來模擬作業系統的程序排程。假設該系統只有乙個cpu,每乙個程序的到達時間,執行時間和執行優先順序都是已知的。其中執行優先順序用自然數表示,數字越大,則優先順序越高。如果乙個程序到達的時候cpu是空閒的,則它會一直占用cpu直到該程序結束。除非在這個過程中,有乙個比它優先順序高的程序要執行。...

BZOJ1216 作業系統(堆,模擬)

寫乙個程式來模擬作業系統的程序排程。假設該系統只有乙個cpu,每乙個程序的到達時間,執行時間和執行優先順序都是已知的。其中執行優先順序用自然數表示,數字越大,則優先順序越高。如果乙個程序到達的時候cpu是空閒的,則它會一直占用cpu直到該程序結束。除非在這個過程中,有乙個比它優先順序高的程序要執行。...

bzoj1216 作業系統 優先佇列模擬

time limit 10 sec memory limit 162 mb submit 1172 solved 649 submit status discuss 寫乙個程式來模擬作業系統的程序排程。假設該系統只有乙個cpu,每乙個程序的到達時間,執行時間和執行優先順序都是已知的。其中執行優先順序...