最高的獎勵 貪心

2021-06-27 12:10:03 字數 1175 閱讀 4292

1163 . 最高的獎勵

基準時間限制:1 秒 空間限制:65536 kb 分值: 20

有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。

input

第1行:乙個數n,表示任務的數量(2 <= n <= 50000)

第2 - n + 1行,每行2個數,中間用空格分隔,表示任務的最晚結束時間e[i]以及對應的獎勵w[i]。(1 <= e[i] <= 10^9,1 <= w[i] <= 10^9)

output

輸出能夠獲得的最高獎勵。
input 示例

7

4 20

2 60

4 70

3 40

1 30

4 50

6 10

output 示例

230

這道題和nyoj 1107 一樣可是就是不知道為什麼遞交就tl呢————

分析:貪心思想, 但是會用到路徑壓縮來縮短查詢用的時間

**:

#include #include #include #include #define ll __int64 

#define m 50500

using namespace std;

struct nodes[m];

ll a[m], p[m], c[m];

bool cmp(node a, node b)

ll bis(ll v, ll left, ll right)

return -1;

}int main()

a[n] = 0;

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

sort(s, s+n, cmp);

sort(a, a+n+1);

ll sum = 0;

ll cou = 0;

memset(c, 0, sizeof(c));

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

}} printf("%i64d\n", sum);

} return 0;

}

最高的獎勵 貪心

有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。input 第1行 乙個數n,表示任務的數量 2 n 500...

最高的獎勵

1163 最高的獎勵 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會...

最高的獎勵

有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。input 第1行 乙個數n,表示任務的數量 2 n 500...