2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi 优先队列
来源:互联网 发布:华夏网络传奇 编辑:程序博客网 时间:2024/06/07 06:41
J - 郭大侠与Rabi-Ribi
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
最近郭大侠迷上了玩Rabi-Ribi这个游戏。
Rabi-Ribi呢,是一个打兔子的动作冒险游戏,萌萌哒的兔子在地上跑来跑去,好萌好萌呀~
这个游戏是这样玩的,郭大侠作为一个主角,拿着一个小锤子,他的目标是敲晕兔子,然后最后把这些敲晕的兔子都带回家。
当然咯,郭大侠想带回的兔子的总价值最高~
但是,兔子实在是太多了,郭大侠的锤子每一秒钟只能敲晕一只兔子,而且每一只兔子只会在地面上逗留
在
所以郭大侠面临一些抉择,希望你能帮助他。
Input
第一行包含一个整数
第二行
第三行
Output
输出郭大侠最多能获得的价值是多少
Sample input and output
55 3 6 1 47 9 2 1 5
24
31 1 11 2 3
3
Hint
死宅真可怕,连可爱的兔子都要敲晕带回家 QAQ
Source
2016 UESTC Training for Data Structures Problem J
My Solution
用STL里的优先队列,
倒过来做处理兔子出现的时间,总时间为maxT
那样出现就丢到优先队列里去,从这个时刻起就一直都存在了
没个时刻拿一只最大的出来 pq.top()打晕就好了
复杂度 O(n)
#include <iostream>#include <cstdio>#include <queue>#include <algorithm>using namespace std;const int maxn = 100000 +8;struct interval{ int a,v;} val[maxn];priority_queue<int> pq;bool cmp(const interval& x, const interval& y){ return x.a < y.a;}int main(){ #ifdef LOCAL freopen("a.txt", "r", stdin); #endif // LOCAL int n; long long ans = 0; scanf("%d", &n); for(int i = 0 ; i < n; i++) scanf("%d", &val[i].a); for(int i = 0 ; i < n; i++) scanf("%d", &val[i].v); sort(val, val+n, cmp); int sametime = val[n-1].a; for(int i = n-1; i >= 0; i--){ if(sametime == val[i].a) pq.push(val[i].v); else{ for(int j = sametime; j > val[i].a; j--){ if(!pq.empty()){ ans += pq.top(); pq.pop(); } } pq.push(val[i].v); // sametime = val[i].a; } } for(int j = sametime; j > 0; j--){ if(!pq.empty()){ ans += pq.top(); pq.pop(); } } //!无论如何就是给我输出-1,就算输出前加个ans = 100;还是不行 重启也不行 然后重新建一个project有正常了⊙﹏⊙b汗 printf("%lld", ans); return 0;}
Thank you!
------from ProLights
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi 优先队列
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi CDOJ 1334 优先队列
- 【UESTC 1334 郭大侠与Rabi-Ribi】+ 贪心 + 优先队列
- 郭大侠与Rabi-Ribi(优先队列)
- 2016 UESTC Training for Data Structures I - 郭大侠与线上游戏 2个set
- 2016 UESTC Training for Data Structures K - 郭大侠与甲铁城 树状数组+离线操作
- 2016 UESTC Training for Data Structures G - 郭大侠与阴阳家 CDOJ 1337 强行map
- 2016 UESTC Training for Data Structures K - 郭大侠与甲铁城 CDOJ 1342 离线树状数组
- 2016 UESTC Training for Data Structures L - 郭大侠与苦恼 CDOJ 1284 map+启发式合并
- 2016 UESTC Training for Data Structures D - 卿学姐与魔法 优先队列、构造
- 【CDOJ 1334】 郭大侠与Rabi-Ribi
- 2016 UESTC Training for Data Structures H - 郭大侠与英雄学院 CDOJ 1338 并查集
- 2016 UESTC Training for Data Structures I - 郭大侠与线上游戏 CDOJ 1339 pb_ds黑科技
- 2016 UESTC Training for Data Structures F - 郭大侠与“有何贵干?” CDOJ 1335 线段树 扫描线 离散化
- UESTC Training for Data Structures——J
- 2016 UESTC Training for Data Structures
- 2016 UESTC Training for Data Structures
- 2016 UESTC Training for Data Structures (1)
- 2.4使用mybatis-generator工具创建mybatis相关代码
- 【自学考试】四月一战——信息资源管理
- Android小菜鸟向大神进攻的奋斗记(一)之关于Android studio 使用极光推送,集成成功,但是推送不成
- 自己动手写数据库(三) 持久化方案与索引树
- 2013山东省第三届ACM省赛 Pick apples
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi 优先队列
- enctype="application/x-www-form-urlencoded"什么意思?
- 金融脱媒(Financial Disintermediation),又称金融非中介化
- C#实现序列化和反序列化
- 记一次拆机、装机的过程
- C++错误集合
- css控制背景图片位置-background-position
- HDU_2841_Visible Trees && NYOJ_471_好多的树 容斥定理
- CSU1730-Tractatus Logico-Philosophicus(模拟)