首先,做一次RMQ,求区间最大值。 对于任意一个数s[i],可以用logn的时间求出他右边第一个比他大的数: RMQ[i][j] 表示从s[i]开始的2^j个数中的最大值。对于确定的i,RMQ[i][j]随着j的增大肯定是非降的。 先判断无解的情况,只要看max(RMQ[i][j],RMQ[n-2^j+1][j]) ,也就是区间[i,n]的最...