日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av在线等| 国产中文一区二区三区 | 狠狠干夜夜草 | 久章草影院| 亚洲高清视频网站 | 手机av免费看 | 成人精品一区日本无码网 | 99情趣网 | 成人国产一区二区三区精品麻豆 | 欧美sm凌虐视频网站 | 国产黄色成人 | 好男人www在线视频 我们的2018在线观看免费高清 | 成人综合站| 国产xxxx性hd极品 | 超碰123| 午夜免费在线观看 | 91精品大片 | 娇妻被肉到高潮流白浆 | 色吊丝中文字幕 | 亚洲 小说区 图片区 都市 | 国内av在线播放 | 欧美日一本 | 美女又爽又黄免费视频 | 青青草原综合网 | 777久久久| 天天综合av | 动漫3d精品一区二区三区乱码 | jvid在线 | 黄色在线视频网址 | 国产色综合视频 | 天天狠天天插天天透 | 青青伊人网 | 久久精品国产99久久久 | 国产黄色的视频 | 国产一线二线三线女 | 尤物视频免费在线观看 | 女同av在线| 影音先锋丝袜制服 | 在线看一级片 | 欧美日韩国产91 | 夜夜骑夜夜| 美女洗澡隐私免费网站 | 天天干夜夜嗨 | 黄色国产一级片 | 99精品视频99 | 密桃成熟时在线观看 | 风间由美一区 | 天天摸天天插 | 国产午夜在线观看 | 看片网站在线观看 | 超碰97干| 在厨房拨开内裤进入毛片 | 亚洲一区二区高清视频 | 国产成人在线视频免费观看 | 成人av片免费看 | 久热这里有精品 | 黄色一大片| 男女午夜激情 | 国产酒店自拍 | 91麻豆精品一区二区三区 | 日日摸日日操 | 成人看的毛片 | 99精品一级欧美片免费播放 | 久热网| 亚洲草逼视频 | 国产伦精品一区二区三区四区免费 | 天天玩天天操 | 日日干综合 | 亚洲视频入口 | 色无极亚洲 | 国产aaa视频 | 国产一区二区精品在线 | 欧美成人免费观看视频 | 亚洲一区二区精品 | 天干夜夜爽爽日日日日 | 一级片视频在线观看 | 国产强被迫伦姧在线观看无码 | 爱乃なみ加勒比在线播放 | 日本一级黄色录像 | 欧美片17c07.com| 91视频免费观看 | 青青草久久伊人 | 成人免费大全 | 欧美91在线 | 北条麻妃av在线播放 | 久久国产福利一区 | 黑人一区二区三区 | 国产精品不卡视频 | 国产精品日韩精品 | 久久影院一区二区 | 99久久久国产精品无码性 | 中文字幕免费在线 | 欧美日韩高清丝袜 | 黄色av电影在线观看 | 国产精品一卡二卡 | 精品人妻互换一区二区三区 | 欧美伦理在线观看 | 成人免费观看网站 | 好邻居韩国剧在线观看 |