题意简述
给你一个长度为
n
n
n 的数组
a
a
a,你可以选择
1
∼
n
−
1
1\sim n-1
1∼n−1 的一个数
l
e
n
len
len,分别对
[
1
,
l
e
n
]
[1,len]
[1,len] 和
[
l
e
n
+
1
,
n
]
[len+1,n]
[len+1,n] 排序,如果存在一个
l
e
n
len
len 能使数组非升序输出 YES
,否则输出 NO
。
分析
这题我的考场代码被 hack 了,暴力枚举会 TLE。
我们分类讨论数组 a a a:
1. a a a 有序
当 a a a 有序时,无论选择哪个 l e n len len,都不可能使数组无序,所以无解。
2. a a a 无序
当 a a a 无序时,存在逆序对( i < j i<j i<j 且 a i > a j a_i>a_j ai>aj),将 l e n len len 选在 [ i , j ] [i,j] [i,j] 这个区间,划分排序后, i i i 依然小于 j j j,所以 a i a_i ai 也依然会大于 a j a_j aj,故有解。