![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调栈
只有魔法才能对抗魔法
这个作者很懒,什么都没留下…
展开
-
Max answer (线段树加单调栈(区间最小子段和))
https://nanti.jisuanke.com/t/38228 题意:求最大值:连续区间和*区间最小值 求最小值时用单调栈求该值左边第一个小的与右边第一个小的来枚举区间 又因为存在负数,所以求区间子段和时分两种情况: 1.该值为正数时 乘以区间即可; 预处理前缀和,最后查询O(1); 2.该值为负数时...原创 2019-04-29 20:39:30 · 275 阅读 · 0 评论 -
2019牛客暑假多校第一场A(单调栈)
https://ac.nowcoder.com/acm/contest/881/A 题意就很难懂!! /* 题意:给两个数组且元素不重复,找最大P值(p的含义为在下标1~p中的任意l,r区间内的某下标的一对值都是这个l,r区间的最小值) 题解:两个单调递减栈 找当两栈元素个数不同时break掉就好了。关键就是break掉(结合题意) 理解样例:30 10 50 20 40 3 1 5 2 4 ...原创 2019-07-19 16:25:25 · 142 阅读 · 0 评论 -
19牛客暑期多校第二场H(单调栈)
求只有0和1的矩阵中第二大的全1子矩阵的1的个数 题解:单调栈求最大子矩阵 与这道题一样(板子)https://www.cnblogs.com/Kv-Stalin/p/9164705.html(特别详细),唯一不同就是最后要求的结果不同,所以有了代码中的去重部分,因为在处理每一行通过单调栈算矩形面积时,会重复算一个矩形面积好多次放在优先队列里,为避免这个才有了去重部分。 #include&l...原创 2019-07-20 21:40:13 · 107 阅读 · 0 评论 -
2019牛客暑期多校第四场C.sequence (单调栈+线段树(区间内最大/最小子段和))
https://ac.nowcoder.com/acm/contest/884/C ---------------------------------------------------------------- 和南昌网络赛Max Answer一样,些许变化。 这里讲了线段树具体求区间最小子段和https://blog.csdn.net/gml1999/article/details/89...原创 2019-07-27 20:18:26 · 109 阅读 · 0 评论 -
2019牛客暑期多校训练营第八场A All-one Matrices(单调栈+不被覆盖的全1矩阵)
题意:一个01矩阵,求所有不被其他矩阵(满足该条件的)覆盖的全一子矩阵的个数 题解:单调栈求该高度左右能扩大的最优位置,前缀和求该高度向上能扩大的最大位置,再枚举每行每列。这样会出现被覆盖的情况,所以还需要一个单调栈用来去除被覆盖的情况:该单调栈维护一个单调不降的h[i][j],在判断该行该高度下的L[i],R[i]的下一行的同等区间是否也都是1,是则跳过,负责cnt++. #include...原创 2019-08-12 16:10:11 · 156 阅读 · 0 评论