![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调栈
__wwwwn
这个作者很懒,什么都没留下…
展开
-
poj2796Feel Good 前缀和+单调栈经典例题
题意:求区间最小值乘区间和的最大值题解:单调栈求左右边界,然后前缀和#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+5, INF = 0x3f3f3f3f;#define mod int(1e9+7)#define pi acos(-1.0)...原创 2019-07-19 16:41:43 · 367 阅读 · 0 评论 -
Largest Rectangle in a Histogram HDU - 1506 动态规划
题意:求最大矩形面积题解:动态规划,翻译一下就是如果当前点的左边界的值比当前点的值大的话,那么左边的点的左边界也是他的左边界,如此循环下去,就o(n)求出来了当前点的左边界,右边界同理(感觉时间复杂度比o(n)要大。。。)这个单调栈也能求左右边界,有空想起来的话会补上(补这题主要是想学学非单调栈求法)#include <bits/stdc++.h>using names...原创 2019-07-20 22:03:06 · 114 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)C 单调栈&&线段树
题意:题解:l和r我用dp求得,跟单调栈思路差不多,但是好写这里有两个问题1.我一开始用rmq的stp表查询最值,结果这种用空间换时间的做法mle了,因为维数有25维,正好被卡掉了后来只能用线段树查询最值2.为了让b[i]包括在区间内,我查询的区间并不是跟题解上一样的,我查的区间是l-1....i-1和i....r,然后这样会出现一个问题,一个是l==i时查询就会出问题,第...原创 2019-07-28 20:12:07 · 183 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)A All-one Matrices 动态规划
题意:问你全是1的子矩阵有多少个,要求不重复也不被包含题解:跟上次的次大子矩阵差不多,都是利用单调栈或动态规划求左右边界解决问题,但这次问题有点变动,因为要去重。首先对于每个点都有一个左右边界,那么同一行的左右边界相同的一定是相同的矩阵,这里我用的set去重同一列左右边界相同的是子矩阵,只需要判一下与相邻的下一行,如果一样也得去掉#include <bits/stdc++....原创 2019-08-11 15:04:17 · 130 阅读 · 0 评论