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#单调栈
单调栈
poj2559 Largest Rectangle in a Histogram
思路:以前看训练指南上有利用动态规划的方法求最大子矩阵,但是空间复杂度和实现起来都比较麻烦利用
单调栈
来做这题,代码异常简洁明了。维护一个
单调栈
,从栈底到栈顶是单调递增的。
qwb492859377
·
2015-11-02 23:00
soj 3329: Maximum Submatrix II(
单调栈
)
@(KACMer)题意:给你一个n*m的01矩阵,求其中元素全为0的最大子矩阵的最大面积.分析:最暴力的方法是枚举每一个点为子矩阵左上顶点,然后来暴力判断以它为顶点的最大0子矩阵的最大大小.这样重的复杂度是O(n4),TLEEEEEEEE也可以DP一下,复杂度是O(n3),还是TLEEEE..无法可解…看了别人的做法:维护一个前缀,然后对每个前缀想形成矩阵都要找其左右两边第一个小于它的.那么这个时
jibancanyang
·
2015-11-02 22:00
单调栈
二 nyOj 最大矩形和
pid=258 此题多年前出现在江湖之中,微软面试100题有,2014网易有道又冲出江湖,此题是
单调栈
的使用,想了两天,明白一点。
·
2015-11-02 18:17
OJ
POJ3250 Bad Hair Day——
单调栈
——Pku3250
维护一个
单调栈
,栈中元素单调递减。
·
2015-11-02 17:27
AIR
poj2452 Sticks Problem——双方向
单调栈
Sticks Problem Time Limit: 6000MS Memory Limit: 65536K Total Submissions: 7894 Accepted: 1960 Description Xuanxuan has n sticks of different length. One day, she puts all her sticks
·
2015-11-02 16:34
poj
BZOJ 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(
单调栈
)
维护一个h严格递减的栈 , 出栈时计算一下就好了.. -------------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm>
·
2015-11-02 15:35
USACO
BZOJ 1657: [Usaco2006 Mar]Mooo 奶牛的歌声(
单调栈
)
从左往右,从右往左 扫两遍,
单调栈
维护... ---------------------------------------------------------------------- #include
·
2015-11-02 12:44
USACO
HDU 5033 (
单调栈
维护凸包) Building
题意: 一个人在x轴上,他的左右两侧都有高楼,给出楼的横坐标Xi和高度Hi还有人的位置pos,求人所能看到的天空的最大角度。 分析: 将建筑物和人的位置从左到右排序,对于每个位置利用栈求一次人左边建筑物的凸包,找到一个最小的角度,然后对称一下,再找一个右边的建筑物的最小角度,两个角度加起来就是答案。 将人左边的建筑物从左到右扫描,下面两种情况会出栈: 栈顶元素楼高小于等于当前扫描到
·
2015-11-02 11:07
Build
soj 2511: Moooo (
单调栈
)
@(KACMer)题意:有一群奶牛排成一排,他们有各自的身高和叫声,且每个奶牛的叫声只能被它左右两边的第一个比它身高高的奶牛听到,问所有奶牛中,能听到声音最大的奶牛是多大的声音?分析:既然每个奶牛只能把自己的叫声传给它左右两边第一个比它高的,我们就可以一次来把每个奶牛遍历一遍,把他们发出的声音的接受者找到,这样最后找找出最大的即可.这是最直接的想法,复杂度是O(n2),显然TLE.这里主要是在找它
jibancanyang
·
2015-11-01 16:00
栈
BZOJ 3401: [Usaco2009 Mar]Look Up 仰望(
单调栈
)
发现这个后写了个
单调栈
就 A 了... --------------------------------------------------------------------------------
·
2015-11-01 14:35
USACO
UVa 1451 (数形结合
单调栈
) Average
题意: 给出一个01串,选一个长度至少为L的连续子串,使得串中数字的平均值最大。 分析: 能把这道题想到用数形结合,用斜率表示平均值,我觉得这个想法太“天马行空”了 首先预处理子串的前缀和sum,如果在坐标系中描出(i, sum[i])这些点的话。 所求的平均值就是两点间的斜率了,具体来说,在连续子串[a, b]中,有sum[b]-sum[a-1]个1,长度为b-a+1,所以平均值为(s
·
2015-11-01 14:09
uva
poj 2559
单调栈
***
给出一系列的1*h的矩形,求矩形的最大面积。 如图: 题解链接:点我 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 const int N = 100005; 6 7 struct Elem 8 { 9 int he
·
2015-11-01 08:53
poj
BZOJ3755 : Pty爬山
i],r[i]表示站在i点往左往右走能看到的最高峰,用栈维护凸壳求出 h[i]表示i点能看到的最高峰的高度 a[i],b[i]表示i点往左往右走时反悔的点,即第一个h[j]>h[i]的j,用
单调栈
求出
·
2015-10-31 16:10
ZOJ
AHOI2013 Round2 Day2 简要题解
here 第三题: 后缀数组+
单调栈
。后缀数组我写的是nlogn的,如果
·
2015-10-31 12:35
round
loongint的花篮——双方向
单调栈
Loongint的花篮 【Description】 Loongint要和MM结婚了。在两人的走进礼堂的红地毯两侧,需要摆一些装饰用的花篮,有一些不同高度的花篮,现在这些花篮被Loongint依照自己的美学观念编号为S1,S2,S3…Sn(两侧的花篮高度一样)。可Loongint的MM对这些花篮的摆放方式有不同的看法,她觉得满足以下条件的花篮摆放才是最好的。 如果对于区间[Si,Sj](1&l
·
2015-10-31 11:39
int
Hdu 4923(
单调栈
)
题目链接 Room and Moor Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 842 Accepted Submission(s):
·
2015-10-31 11:32
HDU
UVa 12265 (
单调栈
) Selling Land
首先对于每一行来说维护一个
单调栈
,栈里放的是矩形的左上角,而且横坐标c和高度h也都是递增的,另外对于扫描到的同一个右下角,矩形面积的大小只与左上角的横坐标c和高度h的差值h-c有关,所以栈里面的h-c也都是递增的
·
2015-10-31 11:27
uva
poj2082
单调栈
本来实在做后缀数组的题目的,不巧,碰到了pku3415这题,需要用到
单调栈
来维护,但是之前又没有学习过
单调栈
这方面的知识,于是水了几题.......
·
2015-10-31 09:47
poj
单调栈
poj2796
思路:解决完为这道题目,我才真正明白了
单调栈
的原理,它就是以某一个值为最小(最大)值,向这个值的两侧延伸,遇到大于它(小于它)的值,就将它延伸的范围扩大,当然,一般来说,要这样做的
·
2015-10-31 09:47
poj
poj3250
单调栈
有n只羊,(姑且算是羊吧,也有可能是牛啊猫啊什么之类的),每只羊都有一个身高,前面的羊要看到后面的羊的条件是,后面的羊高度要小于前面的羊,就问各位羊加起来看到的牛多少只....... #include<iostream> #include<stack> #include<stdio.h> using namespace std; in
·
2015-10-31 09:47
poj
poj2559
单调栈
题意:给出连续的矩形的高....求最大面积 #include<iostream> #include<stack> #include<stdio.h> using namespace std; struct node { __int64 num,pre,next; }; int main() { int n; while(scanf
·
2015-10-31 09:47
poj
hdu 5033 模拟+单调优化
维护一个凸包,据说可以用
单调栈
#include <cstdio> #include <cstdlib> #include <cmath> #include &
·
2015-10-31 09:36
HDU
Mike and Feet
单调栈
B. Mike and Feet Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/547/problem/B Description Mike is the president of country What-The-Fatherland. There are n
·
2015-10-31 08:04
codeforces
Poj 2796
单调栈
关于
单调栈
的性质,和单调队列基本相同,只不过
单调栈
只使用数组的尾部, 类似于栈。
·
2015-10-30 14:27
poj
POJ 3415 后缀数组+
单调栈
题目大意: 给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个 这道题目本身理解不难,将两个字符串合并后求出它的后缀数组 然后利用后缀数组求解答案 这里一开始看题解说要用栈的思想,觉得很麻烦就不做了,后来在比赛中又遇到就后悔了,到今天看了很久才算看懂 首先建一个栈,从栈底到栈顶都保证是单调递增的 我们用一个tot记录当前栈中所有项和一个刚进入的子串匹
·
2015-10-30 14:11
后缀数组
hdu 4923
单调栈
http://acm.hdu.edu.cn/showproblem.php?pid=4923 给定一个序列a,元素由0,1组成,求一个序列b,元素在0~1之间,并且保证递增。输出最小的∑(ai−bi)2 对于每个由连续1开头,连续0结尾的段落有最优值x=a/a+b = sum/len (a为1的个数,b为0的个数),用栈维护各个段的x(d[i])值,如果当前x值小于前面一个段的x值,那么就
·
2015-10-30 13:06
HDU
贪心(单调队列)——[Usaco2006 Nov]Bad Hair Day
感觉这种从左向右统计的题目都可以用到栈来优化
单调栈
,从左向右扫 ps:STL里的栈是比较快的,自己是、手写的栈效率跟它差不多啊。。。
·
2015-10-30 12:57
USACO
noip 10.27模拟
然后回去看第二题,画了几个
单调栈
,感觉就只是用线段树维护一些东西就好了,也不算太难打,第三题的题面也更正了,把图画了几层,发现层与层之间是独立的,但是一层的重叠情况比较多,我就先不考虑了。
PhilipsWeng
·
2015-10-27 22:00
poj 2082
单调栈
***
和poj2082差不多,加了一个宽度的条件 #include<iostream> #include<string> #include<cmath> #include<cstdio> #include<algorithm> #define max(a,b) (a>b?a:b) #define abs(a) ((a)&g
·
2015-10-27 15:45
poj
poj 3250
单调栈
*
题意:一群高度不完全相同的牛从左到右站成一排,每头牛只能看见它右边的比它矮的牛的发型,若遇到一头高度大于或等于它的牛,则无法继续看到这头牛后面的其他牛。 给出这些牛的高度,要求每头牛可以看到的牛的数量的和。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #inc
·
2015-10-27 15:45
poj
【bzoj1007】[HNOI2008]水平可见直线
单调栈
Description在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x;L2:y=-x;L3:y=0则L1和L2是可见的,L3是被覆盖的.给出n条直线,表示成y=Ax+B的形式(|A|,|B| #include #include #include #include usingn
LOI_DQS
·
2015-10-23 17:00
栈
2015 UESTC 数据结构专题G题 秋实大哥去打工
单调栈
秋实大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 Description 天行健,君子以自强不息。地势坤,君子以厚德载物。 天天过节的秋实大哥又要过节了,于是他要给心爱的妹子买礼物。但
·
2015-10-23 09:04
数据结构
暑期训练狂刷系列——Hdu 3506 Largest Rectangle in a Histogram (
单调栈
)
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1506 题目大意: 给出一个数列An,问以Ai为最小值的区间内有多少个元素? 解题思路: 手动模拟一个栈。栈内元素为一个单调不递减序列。当新元素Ai需要进栈,如果栈顶元素大于Ai,弹出栈顶元素,直到栈顶元素不大于Ai,Ai进栈。 这里可以保证i是高为栈顶元素的矩形向后延伸的边界
·
2015-10-23 08:56
HDU
Problem(M25):The Kth Large-
单调栈
/线段树
Problem(M25):TheKthLarge JudgeInfoMemoryLimit:65536KBCaseTimeLimit:2000MSTimeLimit:2000MSJudger:NormalDescriptionIntheP.E.class,nstudentslistedinalineontheplayground.However,theyarenotorderedbytheirh
viphong
·
2015-10-23 00:00
BZOJ 1012 最大数maxnumber
因此方法很多,最容易想的是在暴力上优化,用二分的方式也能过,但方法还是略麻烦,所以要用到单调队列、
单调栈
。在这里我用的是单调队列。
·
2015-10-21 13:02
number
OI省选知识
1.1基本数据结构1.数组(y) 2.链表,双向链表(y) 3.队列,单调队列,双端队列 4.栈,
单调栈
1.2中级数据结构1.堆 2.并查集与带权并查集 3.hash表 自然溢出 双hash 1.3高级数据结构
hbhcy98
·
2015-10-19 20:00
dp最大子矩阵 hdu4328 Cut the cake
求最大子矩阵还有另外一种方法,就是利用
单调栈
,这也是一种非常棒的方法。这题还有一个小技巧,就是如何处理红蓝相间的呢。。
qwb492859377
·
2015-10-14 13:00
Mike and Feet-
单调栈
/ (线段树上二分)
http://codeforces.com/contest/548/problem/D题意:给一个n长度的数组strength的定义为当前数组里面的最小元素即为当前数组的strength 求出给出数组的长度为i 的子数组(连续)的最大的strength值 -- i是【1,n】;思路:一开始想先对元素的值和位置排序,如果当前元素为i二分找到当前第i元素右边第一个小于他的元素的下标j,那么len1=j
viphong
·
2015-10-12 16:00
单调栈
题目传送门:点击打开链接心塞。因为一个等号找了一个上午的bug。刷题少的确是泪啊、 /* 题目大意:给你n头奶牛高度的数据,从左边向右边,每一头奶牛只能看到比他高度矮的奶牛。问这n头奶牛能总共看到的奶牛头数是多少 算法分析:可以构造一个单调递增栈,这样就可以求出其他奶牛看到该头奶牛的数量,求和即可 */ #include #include #include #include #include #i
xiaotan1314
·
2015-10-07 11:00
栈
单调栈
五校联考六T2
单调栈
单调栈
正扫一遍反扫一遍,便可知每个位置往左与往右最远拓展位置,用乘法原理算出答案即可。
WerKeyTom_FTD
·
2015-10-06 16:00
国庆上课记录
例3:NOIDAY2t1BZOJ4198k叉哈夫曼树,每次取k个最小的合并如果N-1不能整除(k-1),就补重量为0的串二.
单调栈
每次压入一个数时将比它大的数弹出来。
Cynthia_wjyi
·
2015-10-01 10:58
生活
知识点讲解
进击的OIer
[BZOJ3039] 玉蟾宫
id=3039题目大意最大全0子矩阵题解
单调栈
+DP注意啊,坑爹的数据里有一组有空格QAQvar l,r,dp,w:array[-1..1005,-1..1005]oflongint; t:array[
slongle_amazing
·
2015-09-26 19: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(N=0初步思路就是搞一个单调数据结构来解这个问题。后来
wzq_QwQ
·
2015-09-21 16:00
poi
栈
2010
BZOJ 1113 [Poi2008]海报PLA
单调栈
题意:链接略方法:
单调栈
。解析:好久之前做的了,不过貌似是个
单调栈
水题?以前的码风比现在都不忍直视。
wzq_QwQ
·
2015-09-14 20:00
poi
栈
BZOJ 3238 [Ahoi2013]差异 后缀数组+
单调栈
题意:链接方法:后缀数组+
单调栈
解析:一眼题,刷水有益健康23333首先一看这个式子就想能不能O(1)…这是病然后发现不能O(1),但是可以转化?好吧就先看前面的len求和吧。
wzq_QwQ
·
2015-09-04 22:00
最大01子矩阵相关
貌似这种矩形的题都会跟单调队列有关系,然而我又不是非常擅长单调队列和
单调栈
,所以过一阵子仔细学习一下。
u012288458
·
2015-09-03 20:00
whx带我刷JOI training
之前看到这题的时候刚好做了某逆序对题和这题似乎挺像……以为是扫描线+线段树,然后不会做2333唔然后再看的时候YY了个分治+二分+可持久化线段树(雾)的东西……然而好像还是不能做再后来whx告诉我……cdq分治+
单调栈
GEOTCBRL
·
2015-09-03 18:00
Codeforces Round #305 (Div. 2) 548D Mike and Feet(
单调栈
)
D.MikeandFeettimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputMikeisthepresidentofcountryWhat-The-Fatherland.TherearenbearslivinginthiscountrybesidesMike.Allo
GKHack
·
2015-08-29 18:03
Codeforces
栈
POJ-3494-Largest Submatrix of All 1’s-还是
单调栈
后来发现暴力做n次像POJ2796的
单调栈
操作就好预处理h[i][j]为点【i】【j】处往上数连续的“1”的个数那么对第i行做一次得到的是 第i行为底边高度为h[i][j] 的一个最大面积的矩形(面积为
viphong
·
2015-08-26 22:00
POJ-3250-Bad Hair Day- 又是一颗
单调栈
设牛i能看到的牛数为Ci,求∑Ci还是用
单调栈
秒掉就好了#include #include #include #include #include #include #include #include #
viphong
·
2015-08-26 11:00
上一页
49
50
51
52
53
54
55
56
下一页
按字母分类:
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
其他