1163 . 最高的獎勵
基準時間限制:1 秒 空間限制:65536 kb 分值: 20
有n個任務,每個任務有乙個最晚結束時間以及乙個對應的獎勵。在結束時間之前完成該任務,就可以獲得對應的獎勵。完成每乙個任務所需的時間都是1個單位時間。有時候完成所有任務是不可能的,因為時間上可能會有衝突,這需要你來取捨。求能夠獲得的最高獎勵。
input
第1行:乙個數n,表示任務的數量(2 <= n <= 50000)output第2 - n + 1行,每行2個數,中間用空格分隔,表示任務的最晚結束時間e[i]以及對應的獎勵w[i]。(1 <= e[i] <= 10^9,1 <= w[i] <= 10^9)
輸出能夠獲得的最高獎勵。input 示例
7output 示例4 20
2 60
4 70
3 40
1 30
4 50
6 10
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...