给一个长度n包含[1,n]所有数的序列p。每次操作选择两个索引 1≤i<j≤n
,并交换p[i]和p[j]。求出序列中恰好存在一个逆序对的最少操作次数。
逆序对指1≤i<j≤n
且p[i]>p[j]
。
第一行,一个t。
接下来t个询问:
每组数据第一行一个n。
每组数据的第二行n个pi。
对于100%的数据:
1\le t \le 10^4
2 \le n \le 2×10^5
1 \le p_i \le n
对于每组测试n的总和不超过2×10^5。
每个询问一行一个整数表示最少操作次数。
4 2 2 1 2 1 2 4 3 4 1 2 4 2 4 3 1
0 1 3 1
第一组无需操作
第二组变为[2,1],(1,2)
第三组变为[1,2,4,3],(1,3)(2,4)(3,4)
第四组变为[2,1,3,4],(2,4)
时间限制 | 1000 毫秒 |
内存限制 | 128 MB |