
单调栈
分享关于单调栈的题解文章
MangataTS
一个爱折腾的Coder
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
#436. 子串的最大差(单调栈)
题目链接 http://oj.daimayuan.top/problem/436 题面 思路 我们考虑每一个点作为一个区间最小值和区间最大值的次数,那么我们可以从两边延申,对于区间最小值而言找到左边第一个大于自身的数,对于右边也找到大于第一个大于自身的数,那么这两个区间长度的积就是我们区间以当前为最小值的次数,很显然这个值可以通过单调栈维护,那么我们分别从左往右和从右往左用两个单调栈维护,注意只有一个地方取=即可,同理可以将每个点作为区间最大值的次数统计起来,统计完信息后我们从左往右将每个点的权值计算在a原创 2022-02-26 12:22:09 · 487 阅读 · 0 评论 -
AcWing 1904. 奶牛慢跑(单调栈)
题目连接 https://www.acwing.com/problem/content/1906/ 思路 如果一个牛比前面的牛跑的还慢那么就可以把这两个牛合并,如果相同的话就不要合并了,所以我们最后构造的就是一个速度非严格单调递增的序列 #include<bits/stdc++.h> using namespace std; //----------------自定义部分---------------- #define ll long long #define mod 1000000009 #d原创 2022-02-06 20:50:58 · 232 阅读 · 0 评论