
单调栈
Lifel
dcoi 蒟蒻一枚 欢迎交流~~~qq:1627767186
展开
-
poj 3250 单调栈
题目描述即链接: 大意求在这个数之后的比这个数小的数的个数 https://vjudge.net/problem/POJ-3250 分析: 将每个数看到的个数转化为每个数被看到的个数Code:#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#inc原创 2017-04-11 21:37:03 · 526 阅读 · 0 评论 -
bzoj 3238 Ahoi2013 后缀数组+单调栈
题目链接 思路:先不看lcp部分,若只有len[i] 则ans=(n−1)×∑ni=1ans=(n-1)\times\sum_{i=1}^n 然后就变成了一个跑后缀数组得到height值+RMQ的题目 等等……枚举的时间复杂度为O(n^2)明显超时,那么我们需要在O(n)或者O(nlog)的时间内处理出区间的最小值,注意我们并不需要知道具体的每一个区间是多少,只用知道总值就可以了~~ 我们原创 2017-08-15 18:46:31 · 368 阅读 · 0 评论 -
poj 2559 单调栈
题目大意:求每个值以它为最小值(可以等于)的最大区间长度 思路:用单调栈维护一个单调不增的序列 这里将一遍正向循环的做法: 首先:栈若非空,且此时栈顶元素大于当前元素:那么由于当前元素比栈顶元素小,那么当前元素的左边界至少为栈顶元素的左边界,而对于栈顶元素来说,当前元素比栈顶元素本身小,那么栈顶元素的右边界则为当前位置-1Code:#include<iostream>#include<cst原创 2017-08-15 21:20:17 · 324 阅读 · 0 评论 -
bzoj1113[Poi2008]海报PLA 单调栈
很闲,做一道水题 维护一个单调递增的栈,每次与之前有相等的就可以减少一次#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fod(i,a,b) for(int i=a;i>=原创 2017-09-08 21:49:23 · 353 阅读 · 0 评论