![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调栈
玛珈山大萌新
破山中贼易,破心中贼难。不破不立,破而后立,立而为人。
展开
-
I - Max answer 计蒜客 - 38228 单调栈
题目:I - Max answer 计蒜客 - 38228 分析: 这个题对于正数我们可以枚举最小值,求左右可扩展的最远处(用单调栈),贡献答案。 对于负数的情况,可以结合“数组的最大子数组和"一题来考虑,即O(n)求子数组最大/小和。对于这个题,我们在维护MinSum的时候,同时维护对应区间的最小负数min,并利用min * MinSum贡献答案。 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll;//原创 2020-11-09 23:56:14 · 636 阅读 · 0 评论 -
单调栈
题目:Largest Rectangle in a Histogram HDU - 1506 分析: 这个题就是求矩形的最大面积。其实就是求每个边所能水平延展的最大宽度(找到左右两侧第一个比他低的边,) 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; //typedef __int128 lll; #define print(i) cout << "debug: " << i原创 2020-09-11 22:01:57 · 66 阅读 · 0 评论