CF1365F.Swaps Again

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Ayush, Ashish and Vivek are busy preparing a new problem for the next Codeforces round and need help checking if their test cases are valid.

Each test case consists of an integer nn and two arrays aa and bb, of size nn. If after some (possibly zero) operations described below, array aa can be transformed into array bb, the input is said to be valid. Otherwise, it is invalid.

An operation on array aa is:

  • select an integer kk (1≤k≤⌊n2⌋)(1 \le k \le \lfloor\frac{n}{2}\rfloor)
  • swap the prefix of length kk with the suffix of length kk

For example, if array aa initially is 1,2,3,4,5,6{1, 2, 3, 4, 5, 6}, after performing an operation with k=2k = 2, it is transformed into 5,6,3,4,1,2{5, 6, 3, 4, 1, 2}.

Given the set of test cases, help them determine if each one is valid or invalid.

Ayush、Ashish 和 Vivek 正在为下一场比赛的 Codeforces 轮次紧张地准备一道新题目,他们需要帮助来检验其测试用例是否合法。

每个测试用例包含一个整数 nn 和两个长度均为 nn 的数组 aa 与 bb。如果通过对数组 aa 执行若干次(可能为零次)如下所述的操作后,能够将其变为数组 bb,则该输入被称为合法的;否则即为不合法的。

对数组 aa 执行的一次操作定义为:

  • 选择一个整数 kk(满足 1≤k≤⌊n2⌋1 \le k \le \lfloor\frac{n}{2}\rfloor);
  • 将长度为 kk 的前缀与长度为 kk 的后缀进行交换。

例如,若数组 aa 初始为 1,2,3,4,5,6{1, 2, 3, 4, 5, 6},执行 k=2k = 2 的操作后,将变为 5,6,3,4,1,2{5, 6, 3, 4, 1, 2}。

给定一组测试用例,请帮助他们判断每个测试用例是否合法。

输入格式

The first line contains one integer tt (1≤t≤500)(1 \le t \le 500) — the number of test cases. The description of each test case is as follows.

The first line of each test case contains a single integer nn (1≤n≤500)(1 \le n \le 500) — the size of the arrays.

The second line of each test case contains nn integers a1a_1, a2a_2, ..., ana_n (1≤ai≤109)(1 \le a_i \le 10^9) — elements of array aa.

The third line of each test case contains nn integers b1b_1, b2b_2, ..., bnb_n (1≤bi≤109)(1 \le b_i \le 10^9) — elements of array bb.

第一行包含一个整数 tt(1≤t≤5001 \le t \le 500)—— 测试用例的数量。每个测试用例的描述如下:

每个测试用例的第一行包含一个整数 nn(1≤n≤5001 \le n \le 500)—— 数组的大小。

每个测试用例的第二行包含 nn 个整数 a1a_1, a2a_2, ..., ana_n(1≤ai≤1091 \le a_i \le 10^9)—— 数组 aa 的元素。

每个测试用例的第三行包含 nn 个整数 b1b_1, b2b_2, ..., bnb_n(1≤bi≤1091 \le b_i \le 10^9)—— 数组 bb 的元素。

输出格式

For each test case, print "Yes" if the given input is valid. Otherwise print "No".

You may print the answer in any case.

对于每个测试用例,如果给定的输入有效,则输出“Yes”;否则输出“No”。

您可以以任意大小写形式输出答案。

输入输出样例

  • 输入#1

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

    输出#1

    yes
    yes
    No
    yes
    No

说明/提示

For the first test case, we can swap prefix a[1:1]a[1:1] with suffix a[2:2]a[2:2] to get a=[2,1]a=[2, 1].

For the second test case, aa is already equal to bb.

For the third test case, it is impossible since we cannot obtain 33 in aa.

For the fourth test case, we can first swap prefix a[1:1]a[1:1] with suffix a[4:4]a[4:4] to obtain a=[2,2,3,1]a=[2, 2, 3, 1]. Now we can swap prefix a[1:2]a[1:2] with suffix a[3:4]a[3:4] to obtain a=[3,1,2,2]a=[3, 1, 2, 2].

For the fifth test case, it is impossible to convert aa to bb.

对于第一个测试用例,我们可以交换前缀 a[1:1]a[1:1] 与后缀 a[2:2]a[2:2],从而得到 a=[2,1]a=[2, 1]。

对于第二个测试用例,aa 已经等于 bb。

对于第三个测试用例,这是不可能的,因为我们无法在 aa 中得到 33。

对于第四个测试用例,我们首先可以交换前缀 a[1:1]a[1:1] 与后缀 a[4:4]a[4:4],得到 a=[2,2,3,1]a=[2, 2, 3, 1];接着再交换前缀 a[1:2]a[1:2] 与后缀 a[3:4]a[3:4],得到 a=[3,1,2,2]a=[3, 1, 2, 2]。

对于第五个测试用例,无法将 aa 转换为 bb。

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

首页