题目链接:Problem - 6438

题面:

题意:你按顺序去n个城市,每个城市商品买入和卖出的价格一样,你可以用一天时间买入或者卖出,问最多可以获取多少钱,已经最少的天数

思路:在每个位置处贪心寻找之前的可以购买的物品中价格最低的,用map维护一下已经卖出过的价格,当现在买入的价格之前被卖出过,就可以减少购买次数

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define ll long long
map<int, int> mp;
int main(){ios::sync_with_stdio(false);int t;cin >> t;while(t--){mp.clear();int n;cin >> n;priority_queue<int, vector<int>, greater<int>> q;ll sum = 0;int num = 0;for(int i = 0; i < n; i++){int x;cin >> x;if(!q.empty() && (x > q.top())){if(mp[q.top()] == 0){num += 2;}else{mp[q.top()]--;}mp[x]++;sum += x - q.top();q.pop();q.push(x);}q.push(x);}cout << sum << " " << num << endl;}return 0;
}

Buy and Resell hdu-6438 贪心 优先队列相关推荐

  1. Buy and Resell HDU - 6438 贪心

    题目描述: 有一个物品,给你这个物品n天的价格,你可以在在第i天买进或卖出或者什么都不做,如何获得最大利益,假设本金是无限大的. 分析: 我们建立一个最小堆,即优先队列,每天,将队列的最小值和当前的值 ...

  2. Buy and Resell HDU - 6438(补)更新贪心

    The Power Cube is used as a stash of Exotic Power. There are nn cities numbered 1,2,-,n1,2,-,n where ...

  3. HDU - 6438 Buy and Resell(思维+ 贪心)

    题目链接 题意 t组输入,每组n个城市,给出每个城市的货物的价格,在每个城市可以进行三个操作:购买货物,卖出货物,不做操作,问从城市1到城市n(不能返回)最多能获得多少利润,且操作数最少(买和卖分别算 ...

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

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

  5. Buy and Resell(贪心好题!)

    这个贪心可以说是很巧妙了. Buy and Resell Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  6. hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心

    题目传送门 题目描述: 有n座城市,每座城市都可以对一个物品进行一次的买进或者卖出,可以同时拥有多个物品,计算利润最大值,并且交易次数要最少.(买入卖出算两次操作) 思路: 建立两个小根堆 优先队列, ...

  7. HDU - 6438(贪心+思维)

    链接:HDU - 6438 题意:给出 n ,表示 n 天.给出 n 个数,a[i] 表示第 i 天,物品的价格是多少.每天可以选择买一个物品,或者卖一个已有物品,也可以什么都不做,问最后最大能赚多少 ...

  8. HDU6348 Buy and Resell

    Bryce1010模板 HDU6348 Buy and Resell 题意: 从前往后开始旅游,在每个村庄可以选择三个操作: (1)买入物品 (2)卖出物品 (3)不买不卖 求最后的最大获益. 思路: ...

  9. Buy and Resell

    题目链接: Buy and Resell 大致题意: 有n个城市, 在每个城市中你可以选择花费a[i]的价格买一个能量块, 也可以选择以a[i]的价格卖出一个能量块(前提是你要有能量块可以卖). 你会 ...

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

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

最新文章

  1. sql优化之物理优化
  2. 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换...
  3. 【Numpy 学习记录】np.stack 和 np.concatenate
  4. Angular 事件绑定语法在 SAP Spartacus Popover Component 中的一个应用
  5. 如何处理CRM_ORGMAN 300 error message
  6. 云原生解决了什么问题?
  7. nmake命令(windows下的makefile)
  8. [外星与文明]外星人的离开对地球有什么影响?
  9. 世界主要国家地区英文名称,缩写代码
  10. 91 卫图与bigemap地图下载器功能对比
  11. 数字图像处理,相位相关算法解决图像的刚性平移问题
  12. keybd_event模拟键盘输入
  13. 计算机无法关闭密码保护,Win7密码保护共享关闭不了怎么办?密码保护共享关不掉的解决方法...
  14. 2015校园O2O商业模式解析——从水果切入
  15. SwrContext重采样结构体--swr_alloc()、swr_init()、swr_free()
  16. Python爬虫之初识简介以及舆情系统简介【爬虫篇一】
  17. Android实现ListView的A-Z字母排序和过滤搜索功能
  18. 如果编程语言也来玩权利的游戏,怎么安排角色?
  19. 【紧急整理】《信息资源管理》信息资源管理的标准与法规,第5章
  20. 2009年7月22日全食 日全食观测方法 发生原理

热门文章

  1. 暗黑类游戏的设计概念
  2. ue4 小知识点 图片变灰 hlsl 材质 custom shader
  3. java网络编程--IP与InetAddress
  4. 微信小程序——手机号登录
  5. 华为拍摄月亮专利公布: 多次曝光获取月亮清晰轮廓
  6. android 画布心形,用CANVAS实现的心形动画效果
  7. 如何在Windows平台用Java代码暴力破解WIFI密码
  8. java 多态判断非空_重拾JavaSE基础——多态及其实现方式
  9. 微服务出现Shutting down DiscoveryClient问题
  10. vue实现简单搜索功能