日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【51Nod - 1163】最高的奖励 (贪心+优先队列 或 妙用并查集)

發(fā)布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【51Nod - 1163】最高的奖励 (贪心+优先队列 或 妙用并查集) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題干:

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

Input

第1行:一個數(shù)N,表示任務的數(shù)量(2 <= N <= 50000)?
第2 - N + 1行,每行2個數(shù),中間用空格分隔,表示任務的最晚結(jié)束時間Eii以及對應的獎勵Wii。(1 <= Eii?<= 10^9,1 <= Wii?<= 10^9)

Output

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

Sample Input

7 4 20 2 60 4 70 3 40 1 30 4 50 6 10

Sample Output

230

解題報告:

? ? 爛大街的優(yōu)先隊列貪心就不再贅述了、、、這題偶然發(fā)現(xiàn)可以并查集你敢信,,,首先按照權(quán)值排序,然后遍歷找到可以最早進行該任務的時間,用并查集來合并這個時間并且找到可以執(zhí)行這個時間的最晚時間(也就是在這一步貪心了),因為對于這個任務,肯定越晚完成越好,因為可以留更多的時間給其他的任務。然后如果實在找不到時間了那就GG了,這個任務不能選了。因為有其他更優(yōu)秀的任務占據(jù)了這個時間,整個過程用并查集維護。

AC代碼:

#include<bits/stdc++.h> #define ll long long #define fi first #define se second using namespace std; const int MAX = 50000 + 5; ll f[MAX]; pair <ll,ll> p[MAX];int find(int x){if(x<=0) return -1; if(x==f[x]) return f[x]=x-1; else return f[x] = find(f[x]); } int main() {ll n,sum=0;cin>>n;for(int i = 1; i<=n; i++){f[i]=i;scanf("%d%d",&p[i].se,&p[i].fi);p[i].fi=-p[i].fi;}sort(p+1,p+n+1);for(int i = 1; i<=n; i++){if(find(p[i].se)>=0) sum += (-p[i].fi);}printf("%lld\n",sum);return 0; }

優(yōu)先隊列AC代碼:

//按起點排序,優(yōu)先隊列維護 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; struct Node {int t,w; } node[50000 + 18]; bool cmp(const Node & a,const Node & b) {if(a.t!=b.t) return a.t<b.t;else return a.w<b.w; } priority_queue <int,vector<int>,greater<int> > pq; int main() {int n;int maxtime,cur=0;long long ans=0;cin>>n;for(int i = 0; i<n; i++) {scanf("%d %d",&node[i].t,&node[i].w);maxtime=max(maxtime,node[i].t); }sort(node,node+n,cmp);for(int i = 0;i<n; i++)if(cur < node[i].t) {pq.push(node[i].w);cur++;}else if(cur == node[i].t) {if(node[i].w > pq.top() ) {pq.pop();pq.push(node[i].w);}}while(!pq.empty() ) {ans+=pq.top();pq.pop();}printf("%lld\n",ans);return 0 ; }

?

總結(jié)

以上是生活随笔為你收集整理的【51Nod - 1163】最高的奖励 (贪心+优先队列 或 妙用并查集)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线视频二区 | 国产九色视频 | 国产在线高清视频 | 俺也来俺也去俺也射 | 欧美精品色婷婷五月综合 | 播色屋 | 男男肉耽高h彩漫 | 日韩精品一二三四 | 日韩美女做爰高潮免费 | 久久久免费观看视频 | 干老太太视频 | 国产高清免费 | 激情麻豆| 91高跟黑色丝袜呻吟在线观看 | 东北少妇bbbb搡bbb搡 | 精品视频久久久久久 | 国产亚洲第一页 | 日本一区二区色 | 成年人在线免费观看网站 | 福利社区一区二区 | 91老师片黄在线观看 | 国产chinese男男gaygay视频 | 色网站女女 | 黄色片子免费 | 午夜视频在线网站 | 欧美三区在线观看 | 国产精品2019| 亚洲少妇一区 | 国产精品福利视频 | 亚洲天堂高清 | 亚洲羞羞 | 双性受孕h堵精大肚生子 | 喷潮在线| 91亚洲一区 | 日韩激情图片 | 亚洲国产精彩视频 | 中文无码精品一区二区三区 | av资源网址 | 亚洲视频在线看 | 国产日韩欧美精品一区二区 | 丁香四月婷婷 | 中国爆后菊女人的视频 | 337p粉嫩大胆色噜噜噜 | av我不卡 | av在线一 | 91视频爱爱 | 免费污污视频在线观看 | 色呦呦官网 | 日韩精品五区 | 全部免费毛片 | 91麻豆一区二区三区 | 永久免费未满视频 | 日韩欧美在线观看视频 | 成人国产精品免费观看视频 | 日韩1区2区3区 | 免费av一级 | 亚洲国产精品一区二区三区 | 打美女白嫩屁屁网站 | 国产精品91久久久 | 黄网www| a级无遮挡超级高清-在线观看 | 人妻无码一区二区三区免费 | 欧美不卡一区二区三区 | 久久免费视频3 | 国产手机av | 日韩一级片在线播放 | 免费成人在线观看视频 | 在线观看亚洲色图 | 色悠悠久久综合 | 李丽珍裸体午夜理伦片 | 91精品国产综合久久香蕉922 | 欧美国产日本在线 | 国产探花一区二区 | 国产小视频一区 | 国产黄a三级三级三级 | 不许穿内裤随时挨c调教h苏绵 | 久色综| 男人在线网站 | 一级a性色生活片久久无 | 秋霞网一区二区 | 日本h在线 | 奇米影视第4色 | 蜜臀99久久精品久久久久小说 | 免播放器在线视频 | 亚洲欧洲日本一区二区三区 | 黄色在线免费视频 | 美国伊人网 | 天堂成人在线 | 中文字幕第一区 | 一区二区精品久久 | 丁香久久婷婷 | 久久久久久久久久久久久女国产乱 | 蜜桃视频在线观看网站 | 欧洲美一区二区三区亚洲 | 亚洲熟女少妇一区 | 中日韩精品视频 | 69亚洲精品久久久蜜桃小说 | 无码人妻久久一区二区三区 | 国产肉体ⅹxxx137大胆 |