
基本数据结构
37
天才夏洛克
这个作者很懒,什么都没留下…
展开
-
AcWing135 最大子序和
我说实话,进阶指南拿这道题作为单调队列的例题属实有点不友好了,不要以为单调队列这个稍微高级一点的知识,李煜东就会很有耐心的跟你讲,先去洛谷上面做一下单调队列的模板题,一开始直接看这道题看不懂,做完之后回来自己就会做了,就是披着前缀和外衣的单调队列, 单调队列的模板题就是,求区间内任意一点,以这个点为右端点,区间长度为给定,每个区间里面的最大最小值,时间复杂度是On, 假如给定的区间长度为k,那么包含当前点,也就是还有当前点左边k-1个点,这样的一个区间的里面元素的最大最小值,单调队列就是把一个序列里面的每一原创 2021-06-30 10:25:29 · 118 阅读 · 0 评论 -
AcWing152 城市游戏
难度应该是5,在洛谷上刚做了同样的题目,然后这个花了9分钟的时间做好了,还是化成一维求子矩阵最大值 #include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define all(x) (x).begin(), (x).end() using namespace std; typedef long long ll; typedef vector<int> vi; typed原创 2021-06-29 16:03:00 · 151 阅读 · 0 评论 -
SP1805 HISTOGRA - Largest Rectangle in a Histogram
难度:4 单调栈例题,首先解决一个问题,那就是假如矩形是不严格单调增,怎么来计算最大矩形面积,那就是把所有的矩形入栈,然后边出栈边统计, 现在后边的矩形可能高度比前面的小,那就等到高度比前面的小的时候,这个时刻作为标志,开始出栈,并且统计结果,然后把当前高度作为高,累计宽度+1作为宽的矩形入栈,注意最后栈里面不为空,还需要再处理一次, #include <bits/stdc++.h> #define fi first #define se second #define pb push_back原创 2021-06-29 09:44:33 · 91 阅读 · 0 评论