有n個任務需要執行,第i個任務計算時佔r[i]個空間,而後會釋放一部分,最後儲存計算結果需要佔據o[i]個空間(o[i] < r[i])。
例如:執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。
思路:這是乙個貪心演算法,依據執行空間-儲存空間的大小排序即可得到最優解。
輸入
第1行:1個數n,表示任務的數量。(2 <= n <= 100000)第2 - n + 1行:每行2個數r[i]和o[i],分別為執行所需的空間和儲存所需的空間。(1 <= o[i] < r[i] <= 10000)
輸出
輸出執行所有任務所需要的最少空間。
輸入示例
2014 1
2 111 3
20 4
7 56 5
20 7
19 8
9 420 10
18 11
12 6
13 12
14 9
15 2
16 15
17 15
19 13
20 2
20 1
輸出示例
135
#include#include#includeusing namespace std;
struct node
aa[100000+10];
bool cmp(node a,node b)//bool函式依執行空間-儲存空間從大到小排序注意:a,b的型別要和上面結構體的名字相同
int main()
sort(aa,aa+n,cmp);
int sum=0,ans=0;
for(int j=0;jans)
else
}cout<
任務執行順序(51nod
有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。輸入 第1行 1個數n,表示任務的數量。2 n 100000...
51NOD貪心教程(任務執行順序典型題 詳細解析)
有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。分析 本題可以抽象成,從乙個整數開始,每次減去a,再加上b ...
51NOD 1099 任務執行順序
1099 任務執行順序 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和...