CF1545A.AquaMoon and Strange Sort

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

AquaMoon has nn friends. They stand in a row from left to right, and the ii-th friend from the left wears a T-shirt with a number aia_i written on it. Each friend has a direction (left or right). In the beginning, the direction of each friend is right.

AquaMoon can make some operations on friends. On each operation, AquaMoon can choose two adjacent friends and swap their positions. After each operation, the direction of both chosen friends will also be flipped: left to right and vice versa.

AquaMoon hopes that after some operations, the numbers written on the T-shirt of nn friends in the row, read from left to right, become non-decreasing. Also she wants, that all friends will have a direction of right at the end. Please find if it is possible.

AquaMoon 有 nn 个朋友。他们从左到右排成一列,从左数第 ii 个朋友穿着一件印有数字 aia_i 的 T 恤。每位朋友都有一个朝向(向左或向右)。初始时,每位朋友的朝向均为向右。

AquaMoon 可以对朋友们执行若干次操作。每次操作中,AquaMoon 可选择两个相邻的朋友并交换他们的位置。每次操作后,被选中的两位朋友的朝向也会翻转:向左变为向右,向右变为向左。

AquaMoon 希望经过若干次操作后,从左到右读取这 nn 位朋友 T 恤上的数字,得到一个非递减序列;同时,所有朋友最终的朝向均为向右。请判断是否可行。

输入格式

The input consists of multiple test cases. The first line contains a single integer tt (1≤t≤501 \leq t \leq 50) — the number of test cases.

The first line of each test case contains a single integer nn (1≤n≤1051 \leq n \leq 10^5) — the number of Aquamoon's friends.

The second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1051 \leq a_i \leq 10^5) — the numbers, written on the T-shirts.

It is guaranteed that the sum of nn for all test cases does not exceed 10510^5.

输入包含多个测试用例。第一行包含一个整数 tt(1≤t≤501 \leq t \leq 50),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤1051 \leq n \leq 10^5),表示 Aquamoon 的朋友数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1051 \leq a_i \leq 10^5),表示 T 恤上写的数字。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case, if there exists a possible sequence of operations, print "YES" (without quotes); otherwise, print "NO" (without quotes).

You can print each letter in any case (upper or lower).

对于每个测试用例,如果存在一种可能的操作序列,则输出 "YES"(不带引号);否则,输出 "NO"(不带引号)。

你可以以任意大小写形式输出每个字母(大写或小写)。

输入输出样例

  • 输入#1

    3
    4
    4 3 2 5
    4
    3 3 2 2
    5
    1 2 3 5 4

    输出#1

    YES
    YES
    NO

说明/提示

The possible list of operations in the first test case:

  1. Swap a1a_1 and a2a_2. The resulting sequence is 3,4,2,53, 4, 2, 5. The directions are: left, left, right, right.
  2. Swap a2a_2 and a3a_3. The resulting sequence is 3,2,4,53, 2, 4, 5. The directions are: left, left, right, right.
  3. Swap a1a_1 and a2a_2. The resulting sequence is 2,3,4,52, 3, 4, 5. The directions are: right, right, right, right.

第一个测试用例中可能的操作列表:

  1. 交换 a1a_1 和 a2a_2。得到的序列为 3,4,2,53, 4, 2, 5。对应的方向为:左,左,右,右。
  2. 交换 a2a_2 和 a3a_3。得到的序列为 3,2,4,53, 2, 4, 5。对应的方向为:左,左,右,右。
  3. 交换 a1a_1 和 a2a_2。得到的序列为 2,3,4,52, 3, 4, 5。对应的方向为:右,右,右,右。

输入解题思路,AI测评打分。不知道怎么写?

首页