任務執行順序

2021-08-08 04:34:30 字數 674 閱讀 2870

題目:

有n個任務需要執行,第i個任務計算時佔r

i i

個空間,而後會釋放一部分,最後儲存計算結果需要佔據o

i i

個空間(o

i i

< r

i i

)。例如:執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。

思路:有很多不同儲存記憶體的任務,你要同時兼顧執行記憶體和儲存記憶體,盡量先執行執行記憶體大的和儲存記憶體小的。有0.6b執行記憶體,0.3b儲存記憶體的任務和0.9b,0.8b的任務,先執行0.6b的。如果差值很大的後面執行,可能在執行記憶體的時候需要很大,但儲存時又需要很少,就很造成浪費。

#include#includeusing namespace std;

struct node a[100000+5];

bool cmp(node x, node y)

int main()

sort(a, a + n, cmp);

int cur = 0;//當前的儲存記憶體

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

cur += a[i].sto;

}cout << minsum << endl;

}return 0;

}

任務執行順序

有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果 需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。input 第1行 1個數n,表示任務的數量。2 n 10...

51NOD 任務執行順序

有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。思路 這是乙個貪心演算法,依據執行空間 儲存空間的大小排序即...

任務執行順序(51nod

有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。輸入 第1行 1個數n,表示任務的數量。2 n 100000...