20181009noip HZ EZ 两校联考trade(优先队列,贪心)
题面戳这里
思路:
裸的,贪心。。。
考场上写了一个数据分治(70ptsDP,30pts线段树优化贪心,GG了后30分)
这道题其实很简单的
我们看图:

我们在A时刻买一个东西,在B时刻卖出去,我们可以赚到(6-5)=1元钱
我们在B时刻买一个东西,在C时刻卖出去,可以赚(7-6)=1元钱
我们在A时刻买一个东西,在C时刻卖出去,可以赚(7-5)=1元钱
我们会发现,在A时刻买入,在C时刻卖出答案等价于在A时刻买入,在B时刻卖出,再在B时刻买入,在C时刻卖出
这样的话我们在决策时就可以改变暴力的思路
我们假定一个东西买入
在后面某个时刻卖出
那么我们每次取价格最少的一个,和当前遍历到的数字大小作比较
如果当前价格比前面的买入价高,我们就卖出
同时将当前价格加入队列(便于未来反悔)并计算贡献
一直执行就是答案
(因为每次我只取堆顶判断是否操作,可以保证操作合法(每个点最多被执行一次操作,因为既买入又卖出等价于不进行操作))
代码:
#include<iostream>
#include<cstdio>
#include<queue>
#define rii register int i
#define rij regsiter int j
#define int long long
using namespace std;
int n,x;
struct wp{
int val;
};
bool operator < (wp lk,wp kl)
{
return lk.val>kl.val;
}
priority_queue<wp> q;
signed main()
{
freopen("trade.in","r",stdin);
freopen("trade.out","w",stdout);
scanf("%lld",&n);
int ans=;
for(rii=;i<=n;i++)
{
scanf("%lld",&x);
if(q.empty()==false)
{
int val=q.top().val;
if(x>val)
{
ans+=x-val;
q.pop();
wp sr;
sr.val=x;
q.push(sr);
}
}
wp sr;
sr.val=x;
q.push(sr);
}
cout<<ans;
}
20181009noip HZ EZ 两校联考trade(优先队列,贪心)的更多相关文章
- 20181009noip HZ EZ两校联考sum(莫队,组合数学)
题面戳这里 思路: noip考莫队???!!! 考场上死活没往这方面想啊!!!数据分治忘写endl50pts滚粗了 这里每个询问都有n,m两个参数 我们可以把它看做常规莫队中的l和r 然后利用组合数的 ...
- 三校联考 Day3
三校联考 Day3 大水题 题目描述:给出一个圆及圆上的若干个点,问两个点间的最远距离. solution 按极角排序,按顺序枚举,显然距离最远的点是单调的,线性时间可解出答案. 大包子的束缚 题目描 ...
- 【赛时总结】NOIP2018-三校联考1024
◇NOIP三校联考-1024◇ 发现以前的博客写得似乎都很水……基本上都没什么阅读量QwQ 决定改过自新╰( ̄ω ̄o) 就从这篇博客开始吧~ 现场考得无地自容,看到题解才发现一些东西……(我第三题还没 ...
- [2019多校联考(Round 6 T3)]脱单计划 (费用流)
[2019多校联考(Round 6 T3)]脱单计划 (费用流) 题面 你是一家相亲机构的策划总监,在一次相亲活动中,有 n 个小区的若干男士和 n个小区的若干女士报名了这次活动,你需要将这些参与者两 ...
- [多校联考2019(Round 5 T1)] [ATCoder3912]Xor Tree(状压dp)
[多校联考2019(Round 5)] [ATCoder3912]Xor Tree(状压dp) 题面 给出一棵n个点的树,每条边有边权v,每次操作选中两个点,将这两个点之间的路径上的边权全部异或某个值 ...
- [多校联考2019(Round 5 T2)]蓝精灵的请求(二分图染色+背包)
[多校联考2019(Round 5)]蓝精灵的请求(二分图染色+背包) 题面 在山的那边海的那边住着 n 个蓝精灵,这 n 个蓝精灵之间有 m 对好友关系,现在蓝精灵们想要玩一个团队竞技游戏,需要分为 ...
- [多校联考2019(Round 5 T3)]青青草原的表彰大会(dp+组合数学)
[多校联考2019(Round 5)]青青草原的表彰大会(dp+组合数学) 题面 青青草原上有n 只羊,他们聚集在包包大人的家里,举办一年一度的表彰大会,在这次的表彰大会中,包包大人让羊们按自己的贡献 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你
[五校联考1day2]JZOJ2020年8月12日提高组T2 我想大声告诉你 题目 Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底
[五校联考1day2]JZOJ2020年8月12日提高组T1 对你的爱深不见底 题目 Description 出乎意料的是,幸运E 的小R 居然赢了那个游戏.现在欣喜万分的小R 想要写一张明信片给小Y ...
随机推荐
- 查看和设置Oracle数据库字符集
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * from nls_inst ...
- 静态化HttpClient
实现方法: public class HttpClientHelper { private static HttpClient _client; public static HttpClient Ge ...
- Jms学习篇二:ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线 安装 1>下载:到http://activemq.apache.org/download.html 下载最新版本, 解压a ...
- 初入门 HTML
---恢复内容开始--- 1.h标签(标题标签) h1~h62.br标签(换行标签) <br/>3.hr标签(水平线标签) <hr/>4.strong(加粗) em(倾斜)5. ...
- PHP性能检测与优化—XHProf 安装
PHP性能检测与优化—XHProf 安装 XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进 ...
- JVM Guide
Java Virtual Machine: the Essential Guide October 8th, 2014 - By Alexey Zhebel Introduction Java Vir ...
- .NET开源工作流RoadFlow-流程运行-菜单配置
经过流程设计和表单设计后,一个流程就设置完成了,下面说说怎么让设计好的流程运行起来吧. 流程和表单设计完成发布后都在应用程序库里,我们只要将流程在角色应用中配置给相应的用户即可让流程选择了. 在系统管 ...
- FragmentActivity的简单使用
如图是效果图 当 点击下面 不同 的按钮 进入 不同的界面 其中 要一个 主布局当做容器 , 和3个不同的 布局来对应下面的3个按钮界面 主程序的 代码和布局如下 import android.su ...
- 《ArcGIS Runtime SDK for Android开发笔记》——问题集:Error:Error: File path too long on Windows, keep below 240 characters
1.前言 在使用Android Studio开发环境时,经常会爆出以下错误,虽然具体细节内容各有不同,但是说明的都是同一个问题,在windows中使用过长的路径,超过240字符. Error:Erro ...
- ASP.NET向MySQL写入中文的乱码问题-.NET技术/C#
1,在 mysql数据库安装目录下找到my.ini文件,把default-character-set的值修改为 default-character-set=gb2312(修改两处),保存,重新启动. ...