五校联考六T2

题目大意

对于1 ≤ i ≤ N,给定ai。
f(i, j) (i ≤ j) 表示下标属于[i, j] 的数组成的集合中,最大元素的下标;如果有多个最大元素,取位置靠前的。
ans_k = |{(i, j) | f(i, j) = k}|
即满足f(i, j) = k 的有序数对(i, j) 的个数。

单调栈

单调栈正扫一遍反扫一遍,便可知每个位置往左与往右最远拓展位置,用乘法原理算出答案即可。

你可能感兴趣的:(五校联考六T2)