说明一下时间复杂度,设 a n s [ i ] [ j ] ans[i][j] ans[i][j]表示区间 [ i , j ] [i,j] [i,j]的最优决策点
当 i = j i=j i=j时,显然 a n s [ i ] [ j ] = i ans[i][j]=i ans[i][j]=i
假设当 j − i = k − 1 j-i=k-1 j−i=k−1时, a n s [ i ] [ j ] ans[i][j] ans[i][j]随着 i , j i,j i,j的增大单调递增,那么当 j − i = k j-i=k j−i=k时,内层循环的次数为 O ( a n s [ 2 ] [ k + 1 ] − a n s [ 1 ] [ k ] + a n s [ 3 ] [ k + 2 ] − a n s [ 2 ] [ k + 1 ] + . . . ) = O ( n ) O(ans[2][k+1]-ans[1][k]+ans[3][k+2]-ans[2][k+1]+...)=O(n) O(ans[2][k+1]−ans[1][k]+ans[3][k+2]−ans[2][k+1]+...)=O(n)