Buy and Resell

问题分析

题意:有nnn个村庄,每经过一个村庄你有以下三个选择
1. 买能量块
2. 卖能量块
3. 什么也不做
求最后可以获得的最大利润,并且尽可能减少交易次数。

我们可以准着低买高卖的原则,用一个小顶堆维护我们交易过的能量块。
只要当前能量块i" role="presentation" style="position: relative;">iii的价格高于我们之前买来的能量块jjj的价格,我们就可以将其卖出去,并且一定是获利的,但是这样做并不能保证利润最大,所以我们就可以push" role="presentation" style="position: relative;">pushpushpush两次当前能量块,一次代表我们将其买入了,一次代表我们以后发现有价格更高的能量块,我们用来反悔的。

#include <bits/stdc++.h>
using namespace std;
int main() {int T, n, shit;scanf("%d", &T);while (T--) {long long love = 0, dog = 0;scanf("%d", &n);priority_queue<pair<int, int>> pq;for (int i = 0; i < n; ++i) {scanf("%d", &shit);pq.push(make_pair(-shit, 1)); //买入pq.push(make_pair(-shit, 2)); //卖出love += shit + pq.top().first;if (pq.top().second == 1) dog += 2; //每一次买入必定会有卖出pq.pop();}printf("%lld %lld\n", love, dog);}
}

我想有可能有小伙伴比较疑惑为什么这样的做法是对的。因为,我们每天买入卖出,累加的是差值(当然真正的买入卖出是根据小顶堆维护的最小值)。实际上我们做的算法是,对于每一个能量块,我们去看前面村庄的能量块,什么时候买入可以获得最大利润。求每一个能量块的贡献。

2018CCPC网络预选赛1001(hdu6348) 贪心+优先队列相关推荐

  1. HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解

    思路:维护一个递增队列,如果当天的w比队首大,那么我们给收益增加 w - q.top(),这里的意思可以理解为w对总收益的贡献而不是真正获利的具体数额,这样我们就能求出最大收益.注意一下,如果w对收益 ...

  2. Greedy Sequence(2019南京icpc网络预选赛)主席树求区间小于k的最大值

    题意:给出n个整数,构造s1,s2,s3-sn s1,s2,s3-sns1,s2,s3-sn,si sisi满足五个条件 1.s1[i]=i s1[i]=is1[i]=i 2.对于1<j< ...

  3. 挑战程序设计竞赛_我系首次参加第六届中国大学生程序设计竞赛网络预选赛

    点击上方蓝字关注  「龙外信息工程系」 讲述有温度的故事    传递有态度的思想 2020年9月20日12时至17时,第六届中国大学生程序设计竞赛网络赛预选赛在杭州电子科技大学OJ成功举办,黑龙江外国 ...

  4. 1163 最高的奖励(贪心+优先队列)

    有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励.在结束时间之前完成该任务,就可以获得对应的奖励.完成每一个任务所需的时间都是1个单位时间.有时候完成所有任务是不可能的,因为时间上可能会有冲突 ...

  5. 贪心+优先队列 HDOJ 5360 Hiking

    题目传送门 1 /* 2 题意:求邀请顺序使得去爬山的人最多,每个人有去的条件 3 贪心+优先队列:首先按照l和r从小到大排序,每一次将当前人数相同的被邀请者入队,那么只要能当前人数比最多人数条件小, ...

  6. 贪心(优先队列) - New Year Snowmen - CodeForces - 140C

    贪心(优先队列) - New Year Snowmen - CodeForces - 140C 题意: 给定一个长度为n的正整数序列a1,a2,...,an.给定一个长度为n的正整数序列a_1,a_2 ...

  7. CodeForces 140C New Year Snowmen (贪心+优先队列)

    题意:n个数,选三个严格下降的数为一组,求最多能选多少组,并列出每组哪些数. 题解:贪心+优先队列 最多能选多少组,那么必须贪心数量多的. 例如:1 1 2 3 4 5 如果按照数的大小排序,只能贪到 ...

  8. CF140C New Year Snowmen(贪心+优先队列)

    CF140C 贪心+优先队列 贪心策略:每次取出数量最多的三种球,合成一个答案,再把雪球数都-1再插回去,只要还剩下三种雪球就可以不断地合成 雪球数用优先队列维护 #include <bits/ ...

  9. 【BHOJ 女娲加农炮 |、||】贪心 | 优先队列 | 堆 | E

    这次我们通过两道例题来总结一下优先队列的用法和实现: 目录: [BHOJ 1512]女娲加农炮 [BHOJ 1517]女娲加农炮II [BHOJ 1512]女娲加农炮 核心:贪心 + 优先队列 URL ...

最新文章

  1. 3DSSD:基于点云的single-stage物体检测模型 | CVPR2020
  2. 网易云信亮相WOT, 打造“IM+连麦互动直播”云服务
  3. Hdu 4415 Assassin's Creed 【贪心】.cpp
  4. mysql odbc.ini_关于unixodbc中odbc.ini和odbcinst.ini的介绍
  5. Django学习总结①
  6. 【洛谷 P2633】 Count on a tree(主席树,树上差分)
  7. kolla-ansible解析
  8. Android studio 的那些坑
  9. Atitit 提升战力眼光和组织能力的几大要点 目录 1. 成长金字塔模型 德雷福斯模型 1 2. 提升战略眼光, 3 2.1. 视野与格局 3 2.2. 未来预测 未来发展负责,判断未来趋势, 3
  10. ajaxSubmit问题求解
  11. 【Python】 _tkinter.TclError: bitmap xzw.ico not defined
  12. android gps 速度,Android 获取GPS速度
  13. matlab指派问题求法,matlab求解指派问题
  14. 乐橙机器人的价格_乐橙育儿机器人app-大华乐橙机器人app(乐橙宝宝)下载V1.00.001-西西软件下载...
  15. 使用Mozilla Thunderbird 创建ics日历文件
  16. 人人都可以用的项目管理工具,5分钟告诉你如何做好活动策划
  17. 【Labview】G语言
  18. 理解 Linux 中的 关机命令
  19. 大前端 - 微信小程序
  20. 新一代嵌入式UI框架 HaaS UI 使用JS在嵌入式开发炫酷前端

热门文章

  1. java非必传参数怎么处理_SpringBoot 设置传入参数非必要的操作
  2. 束手无策 MSN、QQ盗号容易追讨难(转)
  3. 机器视觉 零基础Python+OpenCV+MediaPipe手势识别教程(一)手势识别基础入门
  4. Android各应用市场包名
  5. win10找不到你的相机,错误代码0xA00F4244解决办法
  6. Flutter Hero 实现共享元素转场动画
  7. c# picturebox 刷新_c# – 更新PictureBox时可能导致ArgumentException的原因是什么?
  8. IRremoteESP8266库 红外控制空调方法
  9. 2021据大数据调查-中国的程序员数量是否已经饱和或者过剩?(图多,建议收藏!)
  10. 2018年全国多校算法寒假训练营练习比赛(第五场)题解 F The Biggest Water Problem