CF1638B Odd Swap Sort

题目描述

#### 题目大意 给定一个数列 $a_1,a_2,...,a_n$ 。 你可以执行若干次如下的操作: - 选择一个整数 $i\ (\ 1\leq i< n\ )$ ,如果 $a_i+a_{i+1}$ 为奇数,交换 $a_i$ 和 $a_{i+1}$ 。 问是否可以将该数列排序成单调不降数列。

输入格式

第一行一个整数 $t\ (\ 1\leq t\leq 10^5\ )$ ,表示测试组数。 每组第一行一个整数 $n\ (\ 1\leq n\leq 10^5)$ ,表示数列的长度。 每组第二行 $n$ 个整数 $a_1,a_2,...,a_n\ (\ 1\leq a_i\leq 10^9\ )$ ,表示给定的数列。 可以保证 $t$ 组测试的 $n$ 的和不超过 $2·10^5$ 。

输出格式

共 $t$ 行。 对于每组测试,如果你可以将该数列排序成单调不降数列,输出 ``Yes`` ;否则,输出 ``No`` 。 #### 样例解释 - 第一组测试,可以交换 $31$ 和 $14$ ( $31+14=45$ 是奇数)然后得到单调不降数列 $[1,6,14,31]$ 。 - 第二组测试,我们想要得到单调不降数列就一定要交换 $4$ 和 $2$ ,但这是不可能的,因为 $4+2=6$ 是偶数。 - 第三组测试,没有方法可以使其排序成单调不降数列。 - 第四组测试,该数列已经是单调不降数列了。

说明/提示

In the first test case, we can simply swap $ 31 $ and $ 14 $ ( $ 31 + 14 = 45 $ which is odd) and obtain the non-decreasing array $ [1,6,14,31] $ . In the second test case, the only way we could sort the array is by swapping $ 4 $ and $ 2 $ , but this is impossible, since their sum $ 4 + 2 = 6 $ is even. In the third test case, there is no way to make the array non-decreasing. In the fourth test case, the array is already non-decreasing.