#Z10001. Rumb需要一只手
Rumb需要一只手
问题描述
给定一个长度为 的排列 。排列指由 到 每个整数各出现一次组成的数列。
你必须恰好执行一次操作:选择若干个下标 ,并将这些下标上的元素倒序放回原位置。选中的下标不需要连续。
例如,排列为 时,选择第 个位置,选中元素 倒序后,排列变为 。
请判断能否在恰好执行一次操作后,将排列变为从小到大的顺序。
输入格式
第一行输入一个整数 ,表示测试用例数量。
对于每个测试用例:
- 第一行输入一个整数 ,表示排列长度;
- 第二行输入 个整数 ,表示排列 。
输出格式
对于每个测试用例,输出一行。能排序时输出 YES,否则输出 NO。
样例输入 1
5
1
1
4
4 2 3 1
4
3 4 1 2
5
2 1 3 5 4
6
1 6 3 4 5 2
样例输出 1
YES
YES
NO
NO
YES
样例解释 1
第 个测试用例可以只选择一个下标,排列不会改变,仍满足“恰好执行一次操作”。
第 个测试用例选择第 和第 个位置即可排序。
评测数据规模
对于所有数据,保证:
- ;
- ;
- 每个 都是 到 的一个排列。