首先,如果我知道[l,r],要转移到[l,r+1]的时候,就是加上以r+1为右端点,[l,r+1]为左端点的区间的最小值,其他情况和这个类似 考虑这玩意怎么求 右端点固定的话,我左端点越往左走,这个最小值一定是越来越小 找到[l,r+1]范围内的最小值mi,那么在mi前面的第一个比mi小的位置(记为L[mi]),一定在这个范围外 而且相同的左端点,以这个位置为右端点和以r+1为右端点,区间的最小值是相同的(都是这个数) 所以可以只记f[i]表示以i为右端点,左端点在[1,i]的最小值的和 再问[…