这道题目告诉我们的是,看到\(n\)非常小,不一定是搜索,也不一定是状压,还有可能是枚举是否操作
考虑枚举每个不操作的位置,这些位置将序列分成若干个连续段,每一段里面的数字一定会被操作至少一次
当一个数字被操作了至少一次之后,他的值就不会比某次操作的区间长度大,于是我们猜想,一个段里面的所有数字都有可能达到上界,即这个段的长度
考虑构造,我们先将所有数字变为\(0\),然后将最后一个数字变为\(1\),然后选取\([r-1,r]\)将最后两个数字变为\(2\),然后将倒数第二个数字变为\(0\),再将倒数第二个数字变为\(1\),然后选取\([r-2,r]\)将最后三个数字变为\(3\),然后将倒数第二个数字和倒数第三个数字变为\(0\),然后重复之前的过程将倒数第二个数字变为\(2\),倒数第三个数字变为\(1\),然后选取最后四个数字变为\(4\),然后重复以上过程就可以将序列变为\(0,1,2,...,n\)(其中\(n\)是序列长度减一),最后选取整个区间就可以将所有数字变为区间长度
然后我们枚举的过程中统计最大值就好了