HihoCoder1620: 股票价格3 (单调队列 or DP)
股票价格3
描述
小Hi最近在关注股票,为了计算股票可能的盈利,他获取了一只股票最近N天的价格A1~AN。
小Hi想知道,对于第i天的股票价格Ai,几天之后股价会第一次超过Ai。
假设A=[69, 73, 68, 81, 82],则对于A1=69,1天之后的股票价格就超过了A1;对于A2=73,则是2天之后股票价格才超过A2。
输入
第一行包含一个整数N。
以下N行每行包含一个整数Ai。
对于50%的数据,1 ≤ N ≤ 1000
对于100%的数据,1 ≤ N ≤ 100000, 1 ≤ Ai ≤ 1000000
输出
输出N行,其中第i行代表对于第i天的股票价格Ai,几天之后股价会第一次超过Ai。
如果Ai+1~AN之内没有超过Ai,输出-1。
- 样例输入
- 
5 
 69
 73
 68
 81
 82
- 样例输出
- 
1 
 2
 1
 1
 -1
之前做过很多这样的题,但是不知道归类与单调队列,还是DP
具体的可以看看----这几道题。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=;
int a[maxn],r[maxn];
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=;i<=n;i++) scanf("%d",&a[i]);
r[n]=-;
for(i=n-;i>=;i--){
int tmp=i+;
while(true){
if(tmp==-){ r[i]=-; break; }
if(a[tmp]>a[i]){ r[i]=tmp; break; }
tmp=r[tmp];
}
}
for(i=;i<=n;i++) printf("%d\n",r[i]>?r[i]-i:-);
return ;
}
HihoCoder1620: 股票价格3 (单调队列 or DP)的更多相关文章
- 【转】单调队列优化DP
		转自 : http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 单调队列是一种严格单调的队列,可以单调递增,也可以单调递减.队 ... 
- 单调队列优化DP,多重背包
		单调队列优化DP:http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 单调队列优化多重背包:http://blog.csdn ... 
- bzoj1855: [Scoi2010]股票交易--单调队列优化DP
		单调队列优化DP的模板题 不难列出DP方程: 对于买入的情况 由于dp[i][j]=max{dp[i-w-1][k]+k*Ap[i]-j*Ap[i]} AP[i]*j是固定的,在队列中维护dp[i-w ... 
- 【HDU 3401 Trade】 单调队列优化dp
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3401 题目大意:现在要你去炒股,给你每天的开盘价值,每股买入价值为ap,卖出价值为bp,每天最多买as ... 
- hdu3401:单调队列优化dp
		第一个单调队列优化dp 写了半天,最后初始化搞错了还一直wa.. 题目大意: 炒股,总共 t 天,每天可以买入na[i]股,卖出nb[i]股,价钱分别为pa[i]和pb[i],最大同时拥有p股 且一次 ... 
- Parade(单调队列优化dp)
		题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2490 Parade Time Limit: 4000/2000 MS (Java/Others) ... 
- BZOJ_3831_[Poi2014]Little Bird_单调队列优化DP
		BZOJ_3831_[Poi2014]Little Bird_单调队列优化DP Description 有一排n棵树,第i棵树的高度是Di. MHY要从第一棵树到第n棵树去找他的妹子玩. 如果MHY在 ... 
- 【单调队列优化dp】 分组
		[单调队列优化dp] 分组 >>>>题目 [题目] 给定一行n个非负整数,现在你可以选择其中若干个数,但不能有连续k个数被选择.你的任务是使得选出的数字的和最大 [输入格式] ... 
- [小明打联盟][斜率/单调队列 优化dp][背包]
		链接:https://ac.nowcoder.com/acm/problem/14553来源:牛客网 题目描述 小明很喜欢打游戏,现在已知一个新英雄即将推出,他同样拥有四个技能,其中三个小技能的释放时 ... 
- 单调队列以及单调队列优化DP
		单调队列定义: 其实单调队列就是一种队列内的元素有单调性的队列,因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的. 单调队列的一般应用: 1.维护区间最值 2 ... 
随机推荐
- unity,如何手动或者使用代码更换材质
			在unity中,我们可能需要更换怪物的贴图,来达到以下效果 方法1:手动配置 找到自己配置好的扩展名为.mat的文件,在怪物的节点找到带Mesh Render的子元素,将其拖放到如图位置 方法2:代码 ... 
- 单元测试JUnit 4
			介绍 JUnit 4.x 是利用了 Java 5 的特性(Annotation)的优势,使得测试比起 3.x 版本更加的方便简单,JUnit 4.x 不是旧版本的简单升级,它是一个全新的框架,整个 ... 
- 体系编程、SOC编程那些事儿
			转:https://blog.csdn.net/yueqian_scut/article/details/49968897 笔者将从芯片IC的系统设计的角度去诠释如何掌握体系编程和SOC编程.笔者有超 ... 
- Cookie应用参考
			内容来自imooc. 
- 20145201 《Java程序设计》第一周学习总结
			# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学 ... 
- 20145235李涛《网络对抗》Exp5 MSF基础应用
			基础问答 用自己的话解释什么是exploit,payload,encode? exploit:相当于搬运工,把攻击代码传送到靶机中. payload:相当于shellcode. encode:相当于包 ... 
- nginx  第一天
			来公司第一天先装了一下nginx 第一步: 先装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/ ... 
- Hibernate的一级缓存、二级缓存和查询缓存。
			Hibernate的Session提供了一级缓存的功能,默认总是有效的,当应用程序保存持久化实体.修改持久化实体时,Session并不会立即把这种改变提交到数据库,而是缓存在当前的Session中,除 ... 
- Codeforces Round #363 (Div. 2) A、B、C
			A. Launch of Collider time limit per test 2 seconds memory limit per test 256 megabytes input standa ... 
- Socket初步了解
			在这之前我们先了解一下一些关于网络编程的概念 网络编程从大方面说就是对信息的发送和接收,中间传输为物理线路的作用,编程人员可以不用考虑 网络编程最主要的工作就是在发送端吧信息通过规定好的协议进行组装包 ... 
