817d专题

CodeForces 817D : Mike and Feet 单调栈

传送门 题意 n个值代表n个熊的高度 对于size为x的group strength值为这个group中熊的最小的height值 对于x(1<=x<=n) 求出最大的strength值 分析 首先我们知道,大范围的答案可以往小范围转移 我们用单调栈处理出来每个数的区间,然后对应最大的答案,最后从大到小递推一下答案即可 代码 #pragma GCC optimize(3)#inclu

CodeForces 817D : Imbalanced Array 单调栈

传送门 题意 对于给定由 n 个元素构成的数组。一个子数组的不平衡值是这个区间的最大值与最小值的差值。数组的不平衡值是它所有子数组的不平衡值的总和。求数组的不平衡值。 分析 我们用单调栈处理出来每一个数可以作为最大值位于哪个区间,作为最小值位于哪个区间,然后计算一下贡献即可 需要注意的是,因为可能会有区间数字重复的问题,所以在处理单调栈的时候,可以一半取等,一半不取等 代码 #prag