这道题可以用ST表过: 题目链接 记录4个数组:maxval[][], minval[][], ans[][], rans[][] maxval[i][j]表示从i号元素开始,长度为(1<<j)(也就是2^j)的区间上的最大值 minval[i][j]表示从i号元素开始,长度为(1<<j)的区间上的最小值 ans[i][j]表示从i号元素开始,长度为(1<<j)的区间从左往右方向的答案 rans[i][j]表示从i号元素开始,长度为(1<<j)的区间从右往左方向的答案 那么易得如下转移方程: maxval[i][j...