单调队列
52gqy
52gqy1314
展开
-
P2952 【模板】单调队列 (牛线)
题目描述约翰的N只奶牛(编为1到N号)正在直线上排队.直线上开始的时候一只牛也没有.接下来发生了S(1≤S≤100000)次事件,一次事件可能是以下四种情况之一:.一只奶牛加入队伍的左边(输入“AL”)..一只奶牛加入队伍的右边(输入“AR”).·K只队伍左边奶牛离开(输入“DLK”).·K只队伍右边奶牛离开(输入“DRK”).请求出最后的队伍是什么样.数据保证离开的奶牛不会超过队伍...原创 2019-07-14 13:34:55 · 132 阅读 · 0 评论 -
#47. 滑行的窗口
【题目描述】:给定一个长度为n的数列a,再给定一个长度为k的滑动窗口,从第一个数字开始依次框定k个数字,求每次框定的数字中的最大值和最小值,依次输出所有的这些值。【输入描述】:第一行包含两个整数 n 和 k ,分别表示数组的长度和滑动窗口长度。第二行n个整数,表示数列元素的值。【输出描述】:第一行从左到右窗口看到的最小值。第二行从左到右窗口看到的最大值。【样例输入】:8 31 ...原创 2019-07-14 15:46:38 · 61 阅读 · 0 评论 -
#304. 限长最大连续和
【题目描述】:给你一个长度为 n 的整数序列 {A1,A2,⋯,An},要求从中找出一段连续的长度不超过 m 的子序列,使得这个序列的和最大。【输入描述】:第一行为两个整数 n,m;第二行为 n 个用空格分开的整数序列,每个数的绝对值都小于100。【输出描述】:仅一个整数,表示连续长度不超过 m 的最大子序列和。【样例输入】:6 41 -3 5 1 -2 3【样例输出】:7...原创 2019-07-14 19:35:04 · 599 阅读 · 0 评论 -
P1725 琪露诺
题目描述在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸。于是琪露诺决定到河岸去追青蛙。小河可以看作一列格子依次编号为0到N,琪露诺只能从编号小的格子移动到编号大的格子。而且琪露诺按照一种特殊的方式进行移动,当她在格子i时,她只移动到区间[i+l,i+r]中的任意一格。你问为什么...原创 2019-07-15 10:24:04 · 173 阅读 · 0 评论 -
P2949 工作调度
题意翻译约翰有太多的工作要做。为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间。 他的工作日从0时刻开始,有10^9个单位时间。在任一时刻,他都可以选择编号1~N的N(1 <= N <= 10^6)项工作中的任意一项工作来完成。 因为他在每个单位时间里只能做一个工作,而每项工作又有一个截止日期,所以他很难有时间完成所有N个工作,虽然还是有可能。 对于第i个工作,有一个...原创 2019-07-15 10:54:43 · 447 阅读 · 0 评论 -
#48. 最大矩形面积
【题目描述】:地面上从左到右并排紧挨着摆放多个矩形,已知这此矩形的底边宽度都为1,高度不完全相等。求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确定的范围。如 n = 7, 序列为2 1 4 5 1 3 3 _ _ _ | | ...原创 2019-07-15 18:58:54 · 93 阅读 · 0 评论 -
P2947 向右看齐
题目描述约翰的N(1≤N≤10^5)头奶牛站成一排,奶牛i的身高是Hi(l≤Hi≤1,000,000).现在,每只奶牛都在向右看齐.对于奶牛i,如果奶牛j满足i<j且Hi<Hj,我们可以说奶牛i可以仰望奶牛j. 求出每只奶牛离她最近的仰望对象.输入输出格式输入格式:第 1 行输入 N,之后每行输入一个身高 H_i。输出格式:共 N 行,按顺序每行输出一只奶牛的最近仰望对象,...原创 2019-07-15 21:47:53 · 270 阅读 · 0 评论 -
#391. 奶牛排队
【题目描述】:奶牛在熊大妈的带领下排成了一个序列。显然,不同的奶牛身高不一定相同……现在,奶牛们想知道,如果找出一些连续的奶牛区间,要求最左边的奶牛A是区间最矮的,最右边的B是区间最高的,且B高于A奶牛,且中间如果存在奶牛,则身高不能和A、B奶牛相同,问这样的一些奶牛区间最长的会有多少头奶牛。从左到右给出奶牛的身高,请告诉它们符合条件的最多的奶牛数(答案可能是零、二,但不会是一)。【输入...原创 2019-07-15 22:34:29 · 169 阅读 · 0 评论 -
#152. 盘子序列
【题目描述】:有n 个盘子。盘子被生产出来后,被按照某种顺序摞在一起。初始盘堆中如果一个盘子比所有它上面的盘子都大,那么它是安全的,否则它是危险的。称初始盘堆为A,另外有一个开始为空的盘堆 B。为了掩盖失误,生产商会对盘子序列做一些“处理”,每次进行以下操作中的一个:(1)将A 最上面的盘子放到 B 最上面;(2)将 B 最上面的盘子给你。在得到所有n个盘子之后,你需要判断初始盘堆里是否有危险的...原创 2019-07-16 10:43:48 · 87 阅读 · 0 评论