题目解析
本题的原型题应该是:区区区间间间,题目解析可以参考:区区区间间间_牛客博客
大家可以先看懂牛客这道题,然后再来看本题。
本题需要我们求解出:给定数组的所有子区间的面积之和
子区间面积 =(子区间内最大值 - 子区间内最小值)* 子区间长度
数组长度 N 最大是 10^5,因此只要是枚举所有子区间,那么肯定会超时。
子区间面积公式,可以变形如下:
子区间面积 =子区间内最大值 * 子区间长度 - 子区间内最小值 * 子区间长度
那么所有子区间面积之和,其实可以分解为下面两部分的差:
- 子区间1内最大值