
单调栈
文章平均质量分 52
Sdywolf
沃是一只蒟蒻
展开
-
BZOJ 2086--[Poi2010]Blocks【单调栈】
Description给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1。经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k。 总共给出M次询问,每次询问给出的k不同,你需要分别回答。题解首先,题目的什么操作都是假的,将一个数加一,一个数减原创 2017-07-14 09:42:43 · 468 阅读 · 0 评论 -
HDU 5726--GCD【倍增】【单调栈】【STL-map】
DescriptionGive you a sequence of N (N≤100,000)integers:a1,…,an(0<ai≤1000,000,0000<ai≤1000,000,000). There are Q(Q≤100,000Q≤100,000) queries. For each query l,r you have to calculate gcd(al,,al+1,…,ar)原创 2017-07-15 15:36:21 · 435 阅读 · 0 评论 -
51nod 1423 最大“二货”【单调栈】
Description白克喜欢找一个序列中的次大值。对于一个所有数字都不同的序列 x1, x2, …, xk (k > 1) ,他的次大值是最大的 xj ,并且满足 xj ≠maxki=1 xi 对于一个所有数字都不同的序列 x1, x2, …, xk (k > 1) ,他的幸运数字是最大值和次大值的异或值(Xor)。现在有一个序列 s1, s2, …, sn (n > 1) 。 s[l,r] 表原创 2017-10-27 20:16:06 · 310 阅读 · 0 评论 -
51nod 1349 最大值【单调栈】
Description有一天,小a给了小b一些数字,让小b帮忙找到其中最大的数,由于小b是一个程序猿,当然写了一个代码很快的解决了这个问题。这时,邪恶的小c又出现了,他问小b,假如我只需要知道这些数字中的某个区间的最大值,你还能做嘛?小b经过七七四十九天的思考,终于完美的解决了这道题目,这次,他想也让小c尝尝苦头,于是他问小c,我现在想知道存在多少不同的区间的最大值大于等于k,你还能做吗?这次,小c原创 2017-10-28 16:50:22 · 441 阅读 · 0 评论 -
51nod 1437 迈克步【单调栈】
Description有n只熊。他们站成一排队伍,从左到右依次1到n编号。第i只熊的高度是ai。一组熊指的队伍中连续的一个子段。组的大小就是熊的数目。而组的力量就是这一组熊中最小的高度。迈克想知道对于所有的组大小为x(1 ≤ x ≤ n)的,最大力量是多少。题解控制区间的idea。只要单调栈刷出每个点的控制区间,然后从后往前更新一下答案就可以了。代码#include<cstdio>#include原创 2017-10-29 07:42:49 · 409 阅读 · 0 评论 -
51nod 1288 汽油补给【贪心】【ST表】【单调栈】
Description有(N+1)个城市,0是起点N是终点,开车从0 -> 1 - > 2…… -> N,车每走1个单位距离消耗1个单位的汽油,油箱的容量是T。给出每个城市到下一个城市的距离D,以及当地的油价P,求走完整个旅途最少的花费。如果无法从起点到达终点输出-1。例如D = {10, 9, 8}, P = {2, 1, 3},T = 15,最小花费为41,在0加上10个单位的汽油,在1加满15原创 2017-10-21 19:39:12 · 343 阅读 · 0 评论