*【UESTC】优先队列
来源:互联网 发布:js获取系统时间 编辑:程序博客网 时间:2024/06/05 11:42
最近郭大侠迷上了玩Rabi-Ribi这个游戏。
Rabi-Ribi呢,是一个打兔子的动作冒险游戏,萌萌哒的兔子在地上跑来跑去,好萌好萌呀~
这个游戏是这样玩的,郭大侠作为一个主角,拿着一个小锤子,他的目标是敲晕兔子,然后最后把这些敲晕的兔子都带回家。
当然咯,郭大侠想带回的兔子的总价值最高~
但是,兔子实在是太多了,郭大侠的锤子每一秒钟只能敲晕一只兔子,而且每一只兔子只会在地面上逗留
所以郭大侠面临一些抉择,希望你能帮助他。
第一行包含一个整数
第二行
第三行
输出郭大侠最多能获得的价值是多少
55 3 6 1 47 9 2 1 5
31 1 11 2 3
24
3
死宅真可怕,连可爱的兔子都要敲晕带回家 QAQ
code:
#include<cstdio>#include<queue>#include<algorithm>using namespace std;#include<cstring>struct Node{int a,v;bool operator <(Node x)const{return v>x.v;}}tu[100001];bool cmp(Node x,Node y){return x.a<y.a;}int main(){int n;while(~scanf("%d",&n)){for(int i=0;i<n;i++)scanf("%d",&tu[i].a);for(int i=0;i<n;i++)scanf("%d",&tu[i].v);sort(tu,tu+n,cmp);priority_queue<Node>q;int time=0;long long sum=0;q.push(tu[0]);++time,sum+=tu[0].v;for(int i=1;i<n;i++){if(tu[i].a<=time&&tu[i].v>q.top().v){//下一个时间短,但价值比前一个大,则舍弃前一个sum-=q.top().v;sum+=tu[i].v;q.pop();q.push(tu[i]); }else if(tu[i].a>time){//时间足够,直接放进去 q.push(tu[i]);sum+=tu[i].v;++time; }}printf("%lld\n",sum);}return 0; }
0 0
- *【UESTC】优先队列
- UESTC 1599 wtmsb 优先队列(最小值优先)
- UESTC 482 Charitable Exchange(优先队列+bfs)
- uestc 482 Charitable Exchange 广搜+优先队列优化
- 【UESTC 1334 郭大侠与Rabi-Ribi】+ 贪心 + 优先队列
- UESTC 1593 老司机破阵 优先队列+双端链表
- 2016 UESTC Training for Data Structures D - 卿学姐与魔法 优先队列、构造
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi 优先队列
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi CDOJ 1334 优先队列
- UESTC 1595 老司机的毒奶 贪心+二叉树+优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- linux下php安装php-kafka扩展和php-rdkafka扩展
- 排序算法的总结——Java实现
- Flex 布局之详解
- JAVA实现栈
- Java验证码—ValidateCode的使用
- *【UESTC】优先队列
- 2016蓝桥杯java A组第2题
- 2017蓝桥杯模拟赛 Problem F: 滑动解锁(21分)
- 第一篇博客
- hdu1204 Markov随机过程
- vsftpd自启动(开机启动)的三种方法
- java HashMap操作对象
- 手游安卓支付崩溃问题之一(谷歌支付):找不到IInAppBillingService类
- 2017蓝桥杯模拟赛 Problem G: 风险度量(40分)