
数据结构---单调栈
forezxl
水君一枚
展开
-
BZOJ1113 [Poi2008]海报PLA(洛谷P3467)
单调栈BZOJ题目传送门 洛谷题目传送门答案最多为nnn。容易发现当一个峰的左右有高度相等的两张海报时可以减少一张。那么单调栈维护一个递增的高度即可。代码:#include<cctype>#include<cstdio>#define N 250005using namespace std;int n,stk[N],tp,ans;inline c...原创 2018-07-02 21:19:45 · 250 阅读 · 0 评论 -
BZOJ1345 [Baltic2007]序列问题Sequence(洛谷P4393)
单调栈BZOJ题目传送门 洛谷题目传送门维护一个单调递减的单调栈,每次把栈顶元素和栈顶的后一个元素合并,直到栈顶的后一个元素大于当前值,然后把栈顶合并到当前值即可。注意最后要把栈里面的元素做一遍。代码:#include&lt;cctype&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algori原创 2018-09-13 21:18:48 · 210 阅读 · 0 评论 -
BZOJ4540: [Hnoi2016]序列(洛谷P3246)
莫队 ST表 单调栈BZOJ题目传送门洛谷题目传送门考虑添加r+1r+1r+1到[l,r][l,r][l,r]中产生的贡献。显然多了r−l+2r-l+2r−l+2个区间。设[l,r+1][l,r+1][l,r+1]的最小值取在ppp点,那么ppp产生的贡献为w[p]∗(p−l+1)w[p]*(p-l+1)w[p]∗(p−l+1),剩下的贡献可以前缀和搞一搞。ppp可以ST表预处理后直接得到。...原创 2018-10-18 21:17:43 · 181 阅读 · 0 评论