E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
单调栈
剑指Offer题解——随机刷题(一)
替换空格解法剑指Offer13.机器人的运动范围BFSDFS剑指Offer21.调整数组顺序使奇数位于偶数前面双指针剑指Offer31.栈的压入、弹出序列解法剑指Offer33.二叉搜索树的后序遍历序列
单调栈
剑指
wardseptember
·
2020-08-18 19:54
剑指Offer题解
[ACwing]896. 最长上升子序列 II
算法标签贪心二分题目简叙思路维护一个
单调栈
,如果是大于栈末尾元素就插入,形成
单调栈
,否则就找到第一个大于的元素进行替换,通过这种方式计算最长子序列的长度代码#includeusingnamespacestd
蒟蒻%
·
2020-08-18 09:50
Acwing
贪心
模板题
ACM-数据结构完全总结(知识点+模板)
目录STL中数据结构通用操作1.1二分查找1.2排列生成栈2.1
单调栈
队列3.1优先队列3.2单调队列向量链表5.1链式前向星5.2舞蹈链(dancinglinks)堆6.1映射二叉堆集合映射ST表并查集
Ogmx
·
2020-08-18 09:08
ACM常用模板
算法完全解析
【POJ 2796】【
单调栈
】
一组会WA的数据-_-100000000000问题转化成:对于每一个数,求出以它为最小值的最远左右端点利用
单调栈
:维护栈底小,栈顶大的
单调栈
每个数入栈的时候记录左端点(为栈中前一个数的序列位置+1)出栈的时候记录右端点
violin-wang
·
2020-08-18 09:58
单调栈
单调栈
数据结构(一)
文章目录链表单链表双链表模拟栈模拟队列
单调栈
单调队列滑动窗口kmp字符串链表单链表讲单链表及队列的实现,不使用结构体开空间直接用数组模拟(笔试)注意头结点head没有实际意义,只存储下标,头结点的下一个数才是数组链表的第一个数
zzcxxoo
·
2020-08-18 09:12
算法基础
算法基础
小C的数学问题 【
单调栈
】
问题J:小C的数学问题时间限制:1Sec内存限制:128MB提交:565解决:141[提交][状态][命题人:外部导入]题目描述小C是个云南中医学院的大一新生,在某个星期二,他的高数老师扔给了他一个问题。让他在1天的时间内给出答案。但是小C不会这问题,现在他来请教你。请你帮他解决这个问题。有n个数,每个数有权值。数学老师定义了区间价值为区间和乘上区间内的最小值。现在要你找出有最大区间价值的区间是什
NoobPlayer_llke
·
2020-08-18 08:56
石油大
数据结构
单调栈
接雨水(Java)(
单调栈
)(动态规划,左缀max,右缀max)(双指针)
示例:输入:[0,1,0,2,1,0,1,3,2,1,2,1]输出:62Java2.1方法一(
单调栈
,按行求)当两个较高元素中间夹一个或几个较低元
失业边缘,疯狂挣扎
·
2020-08-18 05:27
数组
单调栈单调队列
双指针
【
单调栈
】区区区间间间
链接:https://ac.nowcoder.com/acm/problem/20806来源:牛客网题目描述给出长度为n的序列a,其中第i个元素为ai,定义区间(l,r)的价值为vl,r=max(ai−aj|l⩽i,j⩽r)请你计算出∑nl=1∑nr=l+1vl,r∑l=1n∑r=l+1nvl,r输入描述:第一行输入数据组数T对于每组数据,第一行为一个整数n,表示序列长度接下来一行有n个数,表示序
SakuraJy
·
2020-08-18 05:23
数据结构
Leetcode
单调栈
题目小总结
NextGreaterElementI503.NextGreaterElementII42.TrappingRainWater84.LargestRectangleinHistogram待补充9.6:昨天晚上做hulu笔试,第二题又用到了
单调栈
于老师的父亲王老爷子
·
2020-08-18 05:45
Leetcode
P1988 最大数
这道题的解决方法有不少,例如
单调栈
,单调队列,线段树之类的。由于把这道题当作
单调栈
的练习来做的,所以就只用了
单调栈
。
weixin_30670925
·
2020-08-18 04:00
51nod 1349 最大值(
单调栈
)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1349题意:求区间内最大值大于等于k的区间个数。思路:利用求出对于以a[i]为最大值的区间范围,pre[i]表示左端范围,aft[i]表示右端范围,则区间个数为$(i-pre[i]+1)*(aft[i]-i+1)$。1#include2#include3#include4#
初仔仔
·
2020-08-18 04:55
【hdu3530 Subsequence 】【
单调栈
】【求最大的区间长度使得区间的最大与最小差在[m,k]之间】
pid=3530【题意】求最大的区间长度使得区间的最大与最小差在[m,k]之间【思路】
单调栈
,维护一个保存最大值的递减栈,最小值的递增栈,如果目前最大与最小的差超过上限了,必定要出队,因为留着对于以后的贡献保持
lzk_1049668876
·
2020-08-18 02:23
单调栈
接雨水(双指针、
单调栈
)
文章目录1.题目2.解题2.1正反扫描法2.2双指针2.3
单调栈
1.题目给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
Michael阿明
·
2020-08-18 00:35
LeetCode
Poj 2559 最大矩形面积
题目:https://cn.vjudge.net/problem/POJ-2559大意:给定一些长为1,高为x的连续矩形,求最大连续矩形面积算法:
单调栈
;题解:维护一个高度单调递增的栈,栈中存结构体x,
M_ercury_
·
2020-08-17 23:04
===数据结构===
栈
bzoj3956 --
单调栈
+ 线段树
那么用
单调栈
预处理出每个点作为左端点、右端点的点对个数,求一个前缀和就可以了。注意相等的情况。
gjghfd
·
2020-08-17 22:56
单调栈
线段树
单调栈
-- 求最值所在的区间
2019暑期牛客多校第4场-C.sequense思路题意大致为给你两个数组a、b,长度都为n,在某个区间[l,r],在a数组[l,r]区间中取最小的a[min],在b数组[l,r]中所有b[i]之和sum,使得a[min]*sum最大。先用单增栈把a数组以每个元素最小值的区间预处理出来,L[i]存左边界,R[i]存右边界。对b数组求前缀和,构建线段数,a[min]>=0查询出sum[min]左边最
多行不译必自闭
·
2020-08-17 21:01
数据结构
NEERC 2012 Moscow Subregional D Darkwing Duck : 区间最大后缀:
单调栈
离线做法是这样的:首先去掉这个题的字符串背景,单纯考虑求区间最大值,有一种离线
单调栈
的做法:从左到右扫,维护一个单减的
单调栈
,然后每次处理掉所有r=ir=ir=i的询问,只需要在
单调栈
里二分lll就行了
calabash_boy
·
2020-08-17 21:52
Codeforces
CCF.2013 12-3.最大的矩形(
单调栈
)
问题描述试题编号:201312-3试题名称:最大的矩形时间限制:1.0s内存限制:256.0MB问题描述:问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1≤i≤n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3,1,6,5,2,3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,
MiaoPlus
·
2020-08-17 20:45
CCF计算机职业资格认证
部分笔试算法题整理
时间复杂度为O(n2)O(n2)思路二:
单调栈
,时间复杂度为O(n)O(n)importjava.util.Scanner;importjava
Shawn_Chan
·
2020-08-17 20:05
算法
CSP_training Week5 ProblemA(HDU-1506)
单调栈
问题
Week5ProblemA
单调栈
求解文章目录Week5ProblemA
单调栈
求解数据结构概述题目概述题目叙述INPUT&输入样例OUTPUT&输出样例题目重述和坑点解题思路总结题目源码数据结构概述众做周知栈结构是一种很常用的数据结构
XianXIANYUe123
·
2020-08-17 18:51
CSP精进之路
CSP2013-12-3最大矩形
单调栈
#include#include"cstring"#include"stack"usingnamespacestd;structt{intw;inth;};structta[1005];intmain
Q_000
·
2020-08-17 18:08
CSP
【CCF-CSP】201312-3 最大的矩形(
单调栈
)
【CCF-CSP】201312-3最大的矩形题目给n个数,代表n个矩形的高度,将n个矩形平放,求能剪出的最大矩形的面积。nusingnamespacestd;#defined(x)couts;//存下标,按照下标对应的元素值递增intmain(){scanf("%d",&n);for(inti=0;ia[s.top()]){//满足递增,入栈s.push(i);}else{inttop;while
stormjing7
·
2020-08-17 18:50
解题报告
CCF-CSP
单调栈
【CSP201312-3】最大的矩形,
单调栈
problem201312-3试题名称:最大的矩形时间限制:1.0s内存限制:256.0MB问题描述:问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1≤i≤n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3,1,6,5,2,3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积
小哈里
·
2020-08-17 18:38
算法
西安day2之基础数据结构
首先ST表不讲因为我不会所有的St表问题都可以用树状数组和线段树解决单调队列
单调栈
上题给一个序列ai,对于每个位置,请你指出最小的j>i,使得aj>ai,或者声明无解。n≤5
Th Au K
·
2020-08-17 17:02
Special Segments of Permutation(
单调栈
+分治)
思路:用
单调栈
预处理,对于位置从左往右第一个比大的数的位置,从右往左第一个比大的数的位置,那么对于区间都是比小的数,区间也都比小,也就是说是区间的最大值,知道最大值后我们
sugarbliss
·
2020-08-17 15:17
【单调队列
/
单调栈】
【
单调栈
】腾讯2019-2020校园招聘真题
1
单调栈
1.1
单调栈
的定义什么是
单调栈
,顾名思义,入栈时遵循单调原则。一般来说,可以求出一个元素向右或向左能扩展的最大长度,保证该区间内该元素最大或最小。
我是一只计算鸡
·
2020-08-17 12:41
单调栈
Codeforces Global Round 5 补题(C2思维题、D-RMQ(二分+倍增ST/二分+
单调栈
)、E思维)
思路来源tourist的turorialC2.BalancedRemovals(Harder)(map)给n(n#include#include#include#includeusingnamespacestd;constintD=3;intn;intdfs(vector>&p,vector&x,intk){if(k==D){//由于所有值不同最后一层一定只有一个值returnx[0];}map>
Code92007
·
2020-08-17 11:33
#
Codeforces
[GXOI/GZOI2019]与或和(位运算,
单调栈
)
题目链接懒得放了。题目大意懒得写了。省选原题哪有找不到的……说实话,其实这题是个大水题,被我十秒钟内口胡出来了。首先位运算除了拆位还能干啥?以下以与为例,或是差不多的。我们考虑有多少个子矩阵会对这一位答案产生贡献,其实就是全$1$的子矩阵。问题转化为计算全$1$子矩阵的个数。这是一个简单题。考虑枚举右下角,发现包括这个右下角的子矩阵肯定长这样:(画的比较丑,意会就好了)也就是高度单调递增。高度可以
angzuo8655
·
2020-08-17 05:43
单调队列&
单调栈
单调队列例题:Poj2823给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数。数列长度:Ni且a[j]>=a[i],a[j]比a[i]还大而且还在后面(目前a[j]留在队列肯定比a[i]有用,因为你是往后推,核心思想!!!)3、保持队列单调,最大值是单调递减序列,最小值反之4、最优选择在队首单调队列实现的大致过程:1、维护队首(对于上题就是如果队首已经是当前元素的m个之前,则队首就
weixin_30685029
·
2020-08-17 04:57
Lipshitz Sequence
单调栈
题意:给n,q和n个数,q个询问每个询问有l,r代表一个区间[l,r],问这个区间包含的所有子区间的L(h)值,L(h)代表区间内任选两个位置i#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#definelowbit(x)(x&(-x
humeay
·
2020-08-17 01:22
POJ-3415-Common Substrings(后缀数组+
单调栈
)
公共子串可以通过height求,中间分隔连接两串,将height[i]>=k进行分组,对于一组内的height[i],且sa[i]属于a串,需要找到ji]-k),采用
单调栈
维护一个栈顶最小的height
EIKY
·
2020-08-17 01:21
POJ
字符串
区区区区间间间(
单调栈
)题解
这道题用
单调栈
解决了一个区间的所有子区间最值之和的问题,以后如果碰到类试问题可以直接套用这个模板的题目题解不是我不想写,因为我觉得自己写的没有人家好单纯记录一下一篇很详细的题解如果你看完了这篇题解,我就强调一点吧
AGNING
·
2020-08-16 18:05
2020五校联盟H-虚假的防AK
原题是CFdiv1的一道B题,虚假2000分,其实只是个
单调栈
板子。题意:先求在一个任意连续区间里的最大值和次大值,求二者异或值。然后最终输出所有异或值的最大值。
蔡瑞阳
·
2020-08-16 12:20
单调栈
最小栈
单调栈
一个正常的栈,一个最小栈栈顶是当前栈的最小元素push的时候如果push的x比最小栈顶的小就pushx否则吧栈顶再push一遍#include#includeusingnamespacestd;classMinStack{public:/**initializeyourdatastructurehere.*/stackst;stackmst;MinStack(){;}voidpush(intx){
DUT_LYH
·
2020-08-16 05:36
#
Leetcode
算法竞赛知识合集 目录(博客中转站)
基本算法—前缀和与差分0x04.基本算法—二分和三分0x05.基本算法-排序0x06.基本算法—倍增0x07.基本算法—贪心0x08.基本算法—总结与练习0x10.基本数据结构0x11.基本数据结构—栈/
单调栈
繁凡さん
·
2020-08-16 03:11
【算法竞赛学习笔记】
【算法总结】合集
leetcode刷题(81)——85. 最大矩形
:[["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]输出:6二、思路——
单调栈
利用
TheManba
·
2020-08-16 03:06
leetcode刷题
Leetcode刷题总结--
单调栈
Leetcode刷题总结
单调栈
从这个数据结构的名字就可以看到,数据在栈中是单调的,栈顶永远都是最大/最小值。那么,这样一个数据结构有什么用呢?这里作者先把结论说出来,然后举一个例子说明。
Q都Q歪来
·
2020-08-16 01:42
Leetcode刷题总结
牛客 最大最小(
单调栈
,区间最大大于最小两倍)
思路:首先必须明确
单调栈
的最主要的作用,就是找到每个数左边右边第一个小于大于他的数,如果配上倍增或者二分可以找到小于大于他的第k大数。所有用
单调栈
的题目都得思考怎么利用这个性质来套题目。
tomjobs
·
2020-08-15 15:00
#
单调栈
#
其他比赛题目
单调栈
/单调队列入门详解
以前一直以为这两个是很高级的东西,这段时间用到了才开始学,发现实际上非常简单下面我们以单调队列为例进行讲解,
单调栈
自行类比顾名思义单调队列这个名字就指明了它的性质——单调性我们来看一道例题——滑动窗口题面在此不再赘述
bajiang2274
·
2020-08-15 13:03
浅谈单调队列
个人感觉,单调队列比
单调栈
难调多了啊,单点队列涉及了两个指针来控制数列,因为要维护数列的单调性,还要维护数列先进先出的原则,所以需要一个头指针来确定每次要出队列的元素,然后一个尾指针来控制队列元素的加入
Ever_glow
·
2020-08-15 13:33
******算法******
ACM的进阶之路
子数组的最小值之和--
单调栈
的思想
0x01.问题给定一个整数数组A,找到min(B)的总和,其中B的范围为A的每个(连续)子数组。由于答案可能很大,因此返回答案模10^9+7。示例:输入:[3,1,2,4]输出:17解释:子数组为[3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。最小值为3,1,2,4,1,1,2,1,1,1,和为17。C++函数形式为intsu
ATFWUS
·
2020-08-15 13:00
算法
算法
动态规划
单调栈
子数组最小值
状态分析
Note1
目录输入输出优化字符数组&字符串(用法)数据结构·
单调栈
·单调队列·堆+优先队列·ST表·树状数组·线段树·分块·珂朵莉树(模板)高精度二维坐标点叉积map、set、vecotr、deque·vector
沉欢沉欢
·
2020-08-15 12:51
My
Notes
【TOJ 4493】Remove Digits(
单调栈
贪心)
描述GivenanN-digitnumber,youshouldremoveKdigitsandmakethenewintegeraslargeaspossible.输入ThefirstlinehastwointegersNandK(1≤K#defineMAX500005usingnamespacestd;intmain(){charst[MAX],ch;inttop=-1,n,k,i;cin>>
weixin_30885111
·
2020-08-15 11:38
单调栈
poj2559
题目链接点击打开链接LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:25276Accepted:8167DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therec
我是鶸
·
2020-08-15 11:50
C语言-ACM-算法-题解
单调栈
/单调队列/RMQ
在上上周的交友大会中,队长大人提到了st算法,然后仔细的发呆了一个星期,于是就开始做队长的专题了,6天后的我总算在此专题做题数目和队长一样了。。明早没课,准备通宵把这几天的零散的记忆整理一下。HDU3530Subsequence一开始想为何不能m和k一起放到while语句里进行处理nowmax和nowmin保存了i之前的最大和最小值,假设此时已经出现不满足k和m的序列(A)了(比k大or比m小or
我也就笑笑
·
2020-08-15 11:04
专题
迷宫【科大讯飞杯K题】【BFS+单调队列/
单调栈
】
链接:https://ac.nowcoder.com/acm/contest/5278/K来源:牛客网题目描述SuperSodaSea在玩一个走迷宫的游戏。迷宫是一个大小为n×m的矩阵,从上到下依次给行编号为0,1,…n−1,从左到右依次给列编号为0,1,…,m−1。游戏规则很简单:从起点出发,每步操作可以移动到上、下、左、右四个方向的空地上,直到终点。为了增加游戏的难度,在这个游戏中,从起点到终
Andres_Lionel
·
2020-08-15 10:08
搜索BFS
DFS
单调队列/栈
bfs
单调队列
单调栈
42.接雨水(
单调栈
/双向记录前后缀/双指针) 407.接雨水2(优先队列+bfs)
42.接雨水这道题我第一次做的时候我记得是维护单调队列的解法,现在再来看看吧,好的,维护单调队列,这边记录高度的同时,也要记录这一块高度的宽度是多少了,所以用了一个结构体,然后因为出队列是一个先进后出的形式,但是又要访问队首元素,综合考量用deque比较合适。具体queue和deque的区别见https://zhuanlan.zhihu.com/p/77981148classSolution{pu
hbhhhxs
·
2020-08-15 10:21
算法
C++
单调栈
结构
题目描述给定一个不含有重复值的数组arr,找到每一个i位置左边和右边离i位置最近且值比arr[i]小的位置。返回所有位置相应的信息。输入描述:第一行输入一个数字n,表示数组arr的长度。以下一行输出n个数字,表示数组的值。输出描述:输出n行,每行两个数字L和R,如果不存在,则值为-1,下标从0开始。示例1输入73415627输出-1202-1-125352-15-1分析要找到数组中每一个i位置左边
微冷...
·
2020-08-15 09:53
单调栈
【
单调栈
】POJ 3250
第一次听说有
单调栈
这个东西,其实
单调栈
跟单调队列差不多,栈中的元素也有单调性,就拿这题来说,我们需要维护一个严格单调递减的栈sample:610374122栈中的变化如下:10103107107412122stacks
leolin_
·
2020-08-15 06:12
数据结构
1019. 链表中的下一个更大节点
tips:我深刻认识到了自己的菜鸡属性,
单调栈
的概念只会生用,稍微一变就怎么也出不来。
weixin_30355437
·
2020-08-14 20:38
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他