
单调栈
文章平均质量分 63
oj
Ypuyu
Ypuyu
展开
-
[单调栈+模板] 单调栈模板
文章目录0. 前言1. 单调栈0. 前言单调栈主要用于求取左边第一个比它大,或者比它小的数。就比如站队随便排成一列,可以求到每个人后面第一个比他高的人。同理可以推广至右边,比它矮均可。这就是单调递增栈、递减栈,从前至后入栈,从后向前入栈的区别了。单调栈比较抽象,非常具有智慧的想法,可应用的场景相当少,根据几个经典题目体会它的用法会极大的帮助理解。手动模拟一遍数据就能够完全理解了。1. 单调栈这里是拿数组模拟栈。模板代码: #include <iostream>using原创 2020-10-21 21:51:06 · 1383 阅读 · 2 评论 -
[单调栈] aw3780. 构造数组(递推+单调栈+枚举+aw周赛009_3)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:3780. 构造数组2. 题目解析难题。预处理+递推+单调栈优化,考验码力啊。题意就是:构造一个先增后减的序列,保证没有凹下去的情况。需要枚举每一个顶点作为 山峰,直接暴力枚举会超时,故使用单调栈进行预处理。单调栈预处理每个点 k 左边和右边的最大和 L[k] 和 R[k], 则选择 k 作为顶点时 总和 = L[k] + R[k + 1]。其中算法正确性以及边界情况需要讨论,在此不赘述。可以去看看题解。时间复杂度:O(n)O(n)原创 2021-07-26 23:35:22 · 152 阅读 · 0 评论 -
[单调栈] aw3516. 最大面积(单调栈+最大矩形面积进阶+今日头条2021+好题)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:84. 柱状图中最大的矩形链接:131. 直方图中最大的矩形相关题解:[单调栈] lc84. 柱状图中最大的矩形、aw131. 直方图中最大的矩形(单调栈+算法对比+模板题)[单调栈] aw152. 城市游戏(单调栈+最大矩形面积进阶)2. 题目解析字节 2021 年 5 月 9 日笔试题。做这道题前,得先掌握 单调栈,再把 131. 直方图中最大的矩形 搞了,再把 [单调栈] aw152. 城市游戏(单调栈+最大矩形面积进阶)原创 2021-05-18 23:04:41 · 161 阅读 · 0 评论 -
[单调栈] aw152. 城市游戏(单调栈+最大矩形面积进阶)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:84. 柱状图中最大的矩形链接:131. 直方图中最大的矩形相关题解:[单调栈] lc84. 柱状图中最大的矩形、aw131. 直方图中最大的矩形(单调栈+算法对比+模板题)2. 题目解析单调栈经典应用,和 [单调栈] lc84. 柱状图中最大的矩形、aw131. 直方图中最大的矩形(单调栈+算法对比+模板题) 一样思路。不过需要转换一下。枚举每行,每行的柱形高度是以该行为底到上面连续 F 的个数。单调栈求面积即可。求柱形的话采用递推即原创 2021-05-18 17:27:03 · 176 阅读 · 0 评论 -
[单调栈] lc84. 柱状图中最大的矩形、aw131. 直方图中最大的矩形(单调栈+算法对比+模板题)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:84. 柱状图中最大的矩形链接:131. 直方图中最大的矩形lc 官方题解一遍扫描法挺不错的,也给出了常见的单调栈几种写法。2. 题目解析单调栈裸题,官方题解给出的一遍扫描方法很不错,能拓展思路。单调栈用来解决求左边第一个比当前数大的、小的数。同理也可以求右边。顺序枚举每个位置当前高度,当前柱形能延展的矩形的左边界就是左边第一个比它小的数的位置,能延展的矩形的右边界就是右边第一个比它小的数的位置。故矩形的高为当前高度,宽为 r-l-1原创 2021-05-18 16:23:38 · 160 阅读 · 0 评论