CF1585D.Yet Another Sorting Problem
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Petya has an array of integers a1,a2,…,an . He only likes sorted arrays. Unfortunately, the given array could be arbitrary, so Petya wants to sort it.
Petya likes to challenge himself, so he wants to sort array using only 3 -cycles. More formally, in one operation he can pick 3 pairwise distinct indices i , j , and k ( 1≤i,j,k≤n ) and apply i→j→k→i cycle to the array a . It simultaneously places ai on position j , aj on position k , and ak on position i , without changing any other element.
For example, if a is [10,50,20,30,40,60] and he chooses i=2 , j=1 , k=5 , then the array becomes [50,40,20,30,10,60] .
Petya can apply arbitrary number of 3 -cycles (possibly, zero). You are to determine if Petya can sort his array a , i. e. make it non-decreasing.
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t ( 1≤t≤5⋅105 ). Description of the test cases follows.
The first line of each test case contains a single integer n ( 1≤n≤5⋅105 ) — the length of the array a .
The second line of each test case contains n integers a1,a2,…,an ( 1≤ai≤n ).
It is guaranteed that the sum of n over all test cases does not exceed 5⋅105 .
输出格式
For each test case, print "YES" (without quotes) if Petya can sort the array a using 3 -cycles, and "NO" (without quotes) otherwise. You can print each letter in any case (upper or lower).
输入输出样例
输入#1
7 1 1 2 2 2 2 2 1 3 1 2 3 3 2 1 3 3 3 1 2 4 2 1 4 3
输出#1
YES YES NO YES NO YES YES
说明/提示
In the 6 -th test case Petya can use the 3 -cycle 1→3→2→1 to sort the array.
In the 7 -th test case Petya can apply 1→3→2→1 and make a=[1,4,2,3] . Then he can apply 2→4→3→2 and finally sort the array.