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
leetcode#单调栈
POJ 2796 Feel Good
单调栈
或者笛卡尔树
id=2796题意:给定一个长度为n的数组,一个区间的值为这个区间的中所有值的和与最小值的乘积,求区间的最大值,并输出区间的左右端点思路:明显的
单调栈
,笛卡尔树也可以做#include#include#
霜刃未曾试
·
2017-08-04 19:13
单调栈
笛卡尔树
ZOJ 2243 & POJ 1785 Binary Search Heap Construction 笛卡尔树 ||
单调栈
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1243http://poj.org/problem?id=1785题意:给一个数n,然后有n对形如label/priority的二元组,用这n对二元组建一个treap,对label满足二叉搜索树的性质,对priority满足堆的性质,然后按(/)的形式输出,即中序遍历这棵树
霜刃未曾试
·
2017-08-04 17:25
笛卡尔树
单调队列 和
单调栈
//顾名思义,就是维护一个严格单调递增或递减的序列.队列和栈的区别就是他们所特有的性质,用数组模拟.poj2823单调队列//这个就是一个最简单的单调队列的应用,具体解释看代码.后面有进阶的单调队列.constintmaxn=1e6+5;intmaxq[maxn],minq[maxn];intmaxans[maxn],minans[maxn],num[maxn];inthead1,tail1;in
Anxdada
·
2017-07-30 13:29
(单调)队列和(单调)栈
单调栈
、单调队列、线段树、LCA、二维树状数组、Bitset讲解
一、
单调栈
1.问题引入考虑这样一个问题,给出一个数字序列,一段连续的子序列的权值定义为这个子序列中最小的权值乘以子序列的长度,求最大的子序列权值,数据范围O(n)可过。
LZJ209--AFO
·
2017-07-29 10:55
课件
美团CodeM复赛 02,03
02城市网络比赛时候写的是
单调栈
,真的是让人见笑了,基本思路就是dfs时候动态处理
单调栈
(带回溯),然后离线处理答案。
basasuya
·
2017-07-09 17:00
[线段树][
单调栈
]HackerRank 101 Hack 50 .Boxes for Toys
考虑枚举右端点r,用线段树维护每个i,i∈[1,r],i到r中maxa∗maxb∗maxc的值,这样用
单调栈
维护a,b,c,退栈入栈分别用区间除,区间乘更新#include#include#include
LowestJN
·
2017-07-08 21:07
线段树
单调栈
Imbalanced Array(
单调栈
或RMQ+二分)
题意:imbalance值:一段区间中最大值与最小值之差给你一个数组(nusingnamespacestd;typedeflonglongll;constintmaxn=1e6+5;intn;lla[maxn],minl[maxn],minr[maxn],maxl[maxn],maxr[maxn];intmain(void){while(cin>>n){for(inti=1;is;while(!s
cillyb
·
2017-07-05 23:30
codeforces
二分
单调栈
RMQ
单调栈
二分
RMQ
[JZOJ5714]矩阵
对于每一行,我们顺序扫并维护
单调栈
。弹出元素时考虑贡献。假如弹出第k列,做到第l列,栈中上一个位置在第j列。则得到一个高为up[i,k],长为l-j-1的矩形。
WerKeyTom_FTD
·
2017-06-16 15:00
bzoj 2086: [Poi2010]Blocks
单调栈
题意给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1。经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k。总共给出M次询问,每次询问给出的k不同,你需要分别回答。N=0.然后我就不会了。。。如果可以带log的话做法就比较显然了,但是这题要
SFN1036
·
2017-05-13 18:12
单调队列&单调栈
[BZOJ1178][Apio2009]CONVENTION会议中心(
单调栈
+dp+set)
题目描述传送门题目大意:有一些线段,两两之间不能相交,求:最短选出多少条线段;输出所有可选的方案中字典序最小的。题解这题并没有做出来。。。这道题的关键在于一个性质:令get_ans(l,r)表示在区间[l,r]内最多能选出多少条合法的线段,那么如果现在要判断线段[l0,r0]是否能加入,就是要判断是否get_ans(l,r)=get_ans(l,l0-1)+get_ans(r0+1,r)+1,其中
Clove_unique
·
2017-04-27 16:12
题解
dp
单调栈
stl
单调栈
模板题
解析维护一个不升的序列(
单调栈
…?)#include#include#defineRep(i,_begin,_end)for(inti=(_begin),i##_END
Zhayan9QvQ
·
2017-04-21 22:49
模板与总结
单调栈
POJ2796 - Feel Good -
单调栈
1.题目描述:FeelGoodTimeLimit:3000MSMemoryLimit:65536KTotalSubmissions:14288Accepted:3951CaseTimeLimit:1000MSSpecialJudgeDescriptionBillisdevelopinganewmathematicaltheoryforhumanemotions.Hisrecentinvestiga
寒江雪里独钓着的蓑笠翁
·
2017-04-18 22:33
单调栈
单调栈
总结
单调栈
总结目录定义性质功能例题HDU1506HDU5033PKU2796PKU3250定义性质下面引自百度百科单调递增或单调减的栈,跟单调队列差不多,但是只用到它的一端,利用它可以用来解决一些ACM/ICPC
新熊君
·
2017-04-11 23:05
[BZOJ4237]稻草人(cdq分治+
单调栈
+二分)
题目描述传送门题解对x排序了之后按照x分治,每一次对y排序考虑如何处理左区间里的点对右边的点的影响,也就是如何计算左边和右边配对的情况用两个指针扫的时候,如果左边的连续一段区间里的点想要都和右边的某一个点配对的话,必须满足x单调递减而右边的区间的某一个点如果要是想和左边的点配对的话,只能是y在它和第一个x在它左边的点所确定的y的范围内的点对于左边的点维护一个x单调递减的栈,对右边的点维护一个x单调
Clove_unique
·
2017-03-24 21:51
题解
单调栈
二分
cdq分治/整体二分
[BZOJ3235][Ahoi2013]好方的蛇(
单调栈
+容斥原理)
题目描述传送门题解heheda管这叫小学生容斥首先求出以某一个点为左上角、左下角、右上角、右下角的矩形的数量这个没法dp,但是可以直接用一个
单调栈
求出来。
Clove_unique
·
2017-03-23 07:41
题解
单调栈
容斥原理
POJ3494 - Largest Submatrix of All 1’s - 二维
单调栈
1.题目描述:LargestSubmatrixofAll1’sTimeLimit:5000MSMemoryLimit:131072KTotalSubmissions:6398Accepted:2365CaseTimeLimit:2000MSDescriptionGivenam-by-n(0,1)-matrix,ofallitssubmatricesofall1’swhichisthelargest
寒江雪里独钓着的蓑笠翁
·
2017-03-19 16:05
单调栈
bzoj 4540: [Hnoi2016]序列 (莫队+ST表+
单调栈
|线段树)
题解传送门题目大意:给定长度为n的序列:a1,a2,…,an,记为a[1:n]。类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar−1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。现在有q个询问,每个询问给定两个数l和r,1≤l≤r≤n,求a[l:r]的不同子序列的最小值之和。例如,给定序5,2,4,1,3,询问给定的两个数为1和3,那么a[1:3
clover_hxy
·
2017-03-07 21:23
线段树
RMQ算法
单调栈
莫队
BZOJ 4709: [Jsoi2011]柠檬【斜率优化
发现……每一段的开头结尾应该是同一个颜色才会最优于是……就是个naive的斜率优化dp了,斜率单增,对于每种颜色,点的横坐标也有序,要最大化截距…于是…
单调栈
……#include#defineMAXN100005
Flaze_
·
2017-02-28 09:51
OI
BZOJ
dp
斜率优化
【
单调栈
二分+BFS】【POI2006】ZAB-Frogs BZOJ1514
题目描述一群青蛙正在摧毁Byteotia所有的庄稼。一个叫Byteasar的农夫决定使用一种放在田里的奇特的“scarefrogs”来吓跑他们,所有的青蛙在跳跃过程中都尽量使自己离他们越远越好,即是让自己离最近的scarefrog越远越好。Byteasar的田是块矩形的土地。青蛙们跳跃的方向平行于坐标轴并且每次跳跃的距离为1,一条跳跃路线的scarefrogs-距离为路径上所有点距离所有scare
ferric_ion
·
2017-02-13 22:52
各种OI
BFS
单调栈
二分+
单调栈
SPOJ MINSUB
problem/SPOJ-MINSUB一开始并不会做,然后看了看下面的题解:http://blog.csdn.net/just_sort/article/details/54135267然后大体思想理解了,之前写
单调栈
一直都是用
KKnotalone
·
2017-01-19 13:54
ACM
单调栈
二分
[BZOJ1414][ZJOI2009]对称的正方形(manacher+
单调栈
+二分)
题目描述传送门题解跟这道题gang了半晚上,写出来了一个理论复杂度O(n2log2n)的做法,然后各种剪枝各种砍常数,最后竟然A了…网上题解貌似是二分+hash?好像也有用manacher+单调队列并且时间复杂度科学的方法,不过各种看不懂…首先我们参考manacher的做法,将一些分隔符插入矩阵,来处理奇数偶数并且对于每一个点都求出来它横纵的最长回文子串然后枚举对称中心,二分这个对称中心能得到的最
Clove_unique
·
2017-01-11 20:28
题解
省选
单调栈
二分
manacher
[BZOJ3238][Ahoi2013]差异(后缀数组+
单调栈
||后缀自动机+树形dp)
首先根据题目的描述答案应该为所有后缀的组合长度再减去两两的lcp首先算出来总和求出sa和height,用两次
单调栈
可以求出来以某一个点的height为最小值的最长区间可以发现以这个点为分界点,区间的左右两边两两组合最小值一定是当前点的
Clove_unique
·
2016-12-28 10:50
题解
dp
省选
单调栈
后缀数组
后缀自动机
[POJ3415]Common Substrings(后缀数组+
单调栈
)
题目描述传送门题意:给定两个字符串A和B,求长度不小于k的公共子串的个数(可以相同)。题解首先把一个串接在另一个串的后面,中间放一个没出现过的字符。由于每一个子串都是某一个后缀的前缀,求出sa和height了之后,我们可以将height分组,组内都是height>=k的后缀。可以知道长度不小于k的公共子串是两个后缀的前缀,并且它们一定在同一组内。那么对于每一组,从前往后扫,假设遇到了A的后缀,那么
Clove_unique
·
2016-12-26 21:13
题解
单调栈
后缀数组
[BZOJ2086][Poi2010]Blocks(
单调栈
)
题目描述传送门题解题意实际上是要求平均值>=k的最长区间。这种区间平均值的题有一种特别的技巧,即如果平均值为k,那么将每一个数减去k,然后求前缀和。如果一段区间满足sr−sl>=0,那么它的平均值即是>=k的。那么对于每一个k做这样的处理,问题就转化为了求满足sr−sl>=0的最长区间[l,r]。可以发现如果i#include#includeusingnamespacestd;#defineN10
Clove_unique
·
2016-11-11 23:50
题解
单调栈
单调栈
学习笔记
单调栈
相对来说比较简单,那就简单写一下。有些题目的
单调栈
只是一个“单调的栈”而已,是根据题目的性质维护了一个单调的栈实现一些查询操作。
Clove_unique
·
2016-11-11 19:30
学习笔记
单调栈
【jzoj4848】【永恒的契约】【
单调栈
】
解题思路假如在序列上,合法的i,j(i小于j,ai小于aj)一定是i往右第一个比它大的数,这个可以用
单调栈
做。对于ai==aj一样可以用
单调栈
求出中间没有比它们大的ai=
inklutcuah
·
2016-11-03 15:52
jzoj
数据结构
【
单调栈
】POJ_2559_Largest Rectangle in a Histogram
LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:19689Accepted:6370DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectangleshav
今天也继续开心涅普涅普
·
2016-10-18 01:50
[POJ3250]头发糟糕的日子
点击打开链接
单调栈
/队列考虑每一头牛会被多少其他牛看到暴力n^2这样维护一个单调下降的序列每次加入新元素时弹出元素最后每次加一个栈顶的最大编号-1然后统计答案就没了n^2#include #include
holyromanempire
·
2016-10-02 00:00
USACO
数据结构
POJ3250【
单调栈
】
思路:维护一个单调递增的栈,对于栈顶元素#include#include#includeusingnamespacestd;typedeflonglongLL;constintN=1e5+10;intmain(){stackq;while(!q.empty())q.pop();LLsum=0;intn,t;scanf("%d",&n);scanf("%d",&t);q.push(t);for(in
keyboarder_zsq
·
2016-09-08 21:56
poj
栈
单调栈
Mike and Feet(
单调栈
)
原题链接B.MikeandFeettimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputMikeisthepresidentofcountryWhat-The-Fatherland.TherearenbearslivinginthiscountrybesidesMike.
天夏123
·
2016-09-07 16:41
数据结构
[poj 2796 Feel Good]
单调栈
[poj2796FeelGood]
单调栈
题目链接:[poj2796FeelGood]
单调栈
题意描述:给定N个数a1,a2,…,an(1≤N≤105,0≤ai≤106),求区间最小的数*区间和。
Xingw-Xiong
·
2016-08-26 11:23
ACM____单调栈/单调队列
[BZOJ3956]Count(
单调栈
+线段树)
题目描述传送门题解感觉这道题蕴含了一些十分巧妙的性质。可以发现好点对实际上很少,最多不超过2n个。当一个点作为点对中的较小点的时候,最多只能和它左边第一个大于等于它的点以及它右边第一个大于等于它的点配对。维护一个单调递减的栈就可以求出所有的好点对。还可以发现对于一段询问的区间,找出区间中最大的点的位置,那么区间中的所有好点对都不会跨越这个点。那么就计算左端点在最大点左边的个数,右端点在最大点右边的
Clove_unique
·
2016-08-20 12:05
题解
线段树
单调栈
POJ 2796:Feel Good(
单调栈
)
FeelGoodTimeLimit:3000MSMemoryLimit:65536KTotalSubmissions:12926Accepted:3617CaseTimeLimit:1000MSSpecialJudgeDescriptionBillisdevelopinganewmathematicaltheoryforhumanemotions.Hisrecentinvestigationsar
Jaihk662
·
2016-08-09 00:46
技巧
单调栈
:POJ2082:Terrible Sets
http://poj.org/problem?id=2082Language:TerribleSetsTimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:4355Accepted:2254DescriptionLetNbethesetofallnaturalnumbers{0,1,2,…},andRbethesetofallrealnumbers.
Davenny
·
2016-07-25 14:41
数据结构与算法
数据结构与算法
HDU 3410 Passing the Message (
单调栈
)
PassingtheMessageTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):532 AcceptedSubmission(s):331ProblemDescriptionWhatasunnyday!Let’sgopicnicandhavebarbe
Forever_wjs
·
2016-07-06 13:00
单调栈
应用
题意大概让算t秒每一秒的最短路和,每条边每秒dis++;dp算距离dis[i][j]:1到i点走j条边的最短路O(n(n+m));
单调栈
维护个上凸;等差数列n^2求解;代码:#include#include
ALPS233
·
2016-06-13 18:42
单调栈
单调栈
/单调队列/RMQ
在上上周的交友大会中,队长大人提到了st算法,然后仔细的发呆了一个星期,于是就开始做队长的专题了,6天后的我总算在此专题做题数目和队长一样了。。明早没课,准备通宵把这几天的零散的记忆整理一下。HDU3530Subsequence一开始想为何不能m和k一起放到while语句里进行处理nowmax和nowmin保存了i之前的最大和最小值,假设此时已经出现不满足k和m的序列(A)了(比k大or比m小or
qq_32995183
·
2016-05-29 17:00
RMQ
单调栈
单调队列
单调栈
_木板倒水问题
地上从左到右竖立着n块木板,从1到n依次编号,如下图所示。我们知道每块木板的高度,在第n块木板右侧竖立着一块高度无限大的木板,现对每块木板依次做如下的操作:对于第i块木板,我们从其右侧开始倒水,直到水的高度等于第i块木板的高度,倒入的水会淹没ai块木板(如果木板左右两侧水的高度大于等于木板高度即视为木板被淹没),求n次操作后,所有ai的和是多少。如图上所示,在第4块木板右侧倒水,可以淹没第5块和第
qq_30043465
·
2016-05-27 21:00
栈
poj2559 Largest Rectangle in a Histogram(
单调栈
)
感觉我的做法就是一个伪
单调栈
的做法,找到一个点,找到和这个点最左能到哪里,最右能到哪里,然后乘以它的高度,比较一下就好了。AC代码:/***********************
sinat_30126425
·
2016-05-23 21:00
poj
单调队列或
单调栈
的学习及认识
单调队列或
单调栈
的学习及认识。。。顾名思义,数据是具有某方面的单调性质的(单增或单减等)。单调队列一般是用于优化动态规划方面问题的一种特殊数据结构,且多数情况是与定长连续子区间问题相关联。
KIJamesQi
·
2016-05-19 12:49
单调队列
单调队列或
单调栈
的学习及认识
单调队列或
单调栈
的学习及认识。。。顾名思义,数据是具有某方面的单调性质的(单增或单减等)。单调队列一般是用于优化动态规划方面问题的一种特殊数据结构,且多数情况是与定长连续子区间问题相关联。
KIJamesQi
·
2016-05-19 12:00
单调队列
BZOJ1012——[JSOI2008]最大数maxnumber
1、题目大意:求末尾L个数的最大值,强制在线2、分析:这个拿线段树可以直接水过,然后我写了一个维护
单调栈
,二分求最大值的短代码,手懒。。。。
qzh_1430586275
·
2016-05-17 08:00
二分
单调栈
bzoj
1012
JSOI2008
ZOJ 2422- Terrible Sets-
单调栈
给你n个连续的矩形,求组合成的最大矩形面积直接
单调栈
,按套路扫一遍即可#include #include #include #include #include #include #include #include
viphong
·
2016-05-15 17:00
[BZOJ1007][HNOI2008]水平可见直线(
单调栈
+计算几何)
维护自底向上斜率单增的
单调栈
,当直线q[r-1]和当前枚举到的直线i共同将q[r]的最大值覆盖或者枚举到的i和q[r]平行时将q[r]弹出,最后在栈内的直线即为可以看到的直线。
Clove_unique
·
2016-05-11 23:14
题解
省选
单调栈
计算几何
[BZOJ1007][HNOI2008]水平可见直线(
单调栈
+计算几何)
维护自底向上斜率单增的
单调栈
,当直线q[r-1]和当前枚举到的直线i共同将q[r]的最大值覆盖或者枚举到的i和q[r]平行时将q[r]弹出,最后在栈内的直线即为可以看到的直线。
Clove_unique
·
2016-05-11 23:00
单调栈
计算几何
bzoj
hnoi
[BZOJ1683][Usaco2005 Nov]City skyline 城市地平线(
单调栈
)
题目描述传送门题解和海报那道题基本一样。代码#include #include #include usingnamespacestd; intn,w,x,y,temp,ans; intstrack[5005]; intmain() { scanf("%d%d",&n,&w); strack[++temp]=0; for(inti=1;i<=n;++i) { scanf("%d%d",&x,&y
Clove_unique
·
2016-05-11 21:00
单调栈
bzoj
【BZOJ3873】[Ahoi2014]拼图【分类讨论】【暴力】
【题目链接】参考了【wuyuhan的题解】记m=∑wi对于n300的情况,暴力O(n)枚举矩形的上边界,然后枚举暴力O(m)枚举高度(最大全0子矩阵
单调栈
做法的高度),最后对于每个高度,O(m)计算矩形内的答案
BraketBN
·
2016-05-11 15:00
bzoj-2286 消耗战【虚树+倍增lca+
单调栈
】
2286:[Sdoi2011消耗战TimeLimit:20Sec MemoryLimit:512MBSubmit:1815 Solved:645[Submit][Status][Discuss]Description在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利
a915800048
·
2016-05-10 17:00
单调栈
虚树
倍增LCA
OI算法汇总[大纲]
1.1基本数据结构1.数组2.链表,双向链表3.队列,单调队列,双端队列4.栈,
单调栈
1.2中级数据结构1.堆2.并查集与带权并查集3.hash表 自然溢出 双hash1.3高级数据结构1.树状数组
qq_33583069
·
2016-05-09 16:00
栈+括号配对 51Nod1478 括号序列的最长合法子段
一开始想到了一种比较脑残的方法,首先(代表+1,)代表-1,我们维护前缀和s,然后我们用
单调栈
来维护最左端的满足[x,i]所有前缀和都>=s。
qwb492859377
·
2016-05-04 23:00
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
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
其他