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 n and two arrays a and b, of size n. If after some (possibly zero) operations described below, array a can be transformed into array b, the input is said to be valid. Otherwise, it is invalid.
An operation on array a is:
- select an integer k (1≤k≤⌊2n⌋)
- swap the prefix of length k with the suffix of length k
For example, if array a initially is 1,2,3,4,5,6, after performing an operation with k=2, it is transformed into 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 轮次紧张地准备一道新题目,他们需要帮助来检验其测试用例是否合法。
每个测试用例包含一个整数 n 和两个长度均为 n 的数组 a 与 b。如果通过对数组 a 执行若干次(可能为零次)如下所述的操作后,能够将其变为数组 b,则该输入被称为合法的;否则即为不合法的。
对数组 a 执行的一次操作定义为:
- 选择一个整数 k(满足 1≤k≤⌊2n⌋);
- 将长度为 k 的前缀与长度为 k 的后缀进行交换。
例如,若数组 a 初始为 1,2,3,4,5,6,执行 k=2 的操作后,将变为 5,6,3,4,1,2。
给定一组测试用例,请帮助他们判断每个测试用例是否合法。
输入格式
The first line contains one integer t (1≤t≤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 n (1≤n≤500) — the size of the arrays.
The second line of each test case contains n integers a1, a2, ..., an (1≤ai≤109) — elements of array a.
The third line of each test case contains n integers b1, b2, ..., bn (1≤bi≤109) — elements of array b.
第一行包含一个整数 t(1≤t≤500)—— 测试用例的数量。每个测试用例的描述如下:
每个测试用例的第一行包含一个整数 n(1≤n≤500)—— 数组的大小。
每个测试用例的第二行包含 n 个整数 a1, a2, ..., an(1≤ai≤109)—— 数组 a 的元素。
每个测试用例的第三行包含 n 个整数 b1, b2, ..., bn(1≤bi≤109)—— 数组 b 的元素。
输出格式
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] with suffix a[2:2] to get a=[2,1].
For the second test case, a is already equal to b.
For the third test case, it is impossible since we cannot obtain 3 in a.
For the fourth test case, we can first swap prefix a[1:1] with suffix a[4:4] to obtain a=[2,2,3,1]. Now we can swap prefix a[1:2] with suffix a[3:4] to obtain a=[3,1,2,2].
For the fifth test case, it is impossible to convert a to b.
对于第一个测试用例,我们可以交换前缀 a[1:1] 与后缀 a[2:2],从而得到 a=[2,1]。
对于第二个测试用例,a 已经等于 b。
对于第三个测试用例,这是不可能的,因为我们无法在 a 中得到 3。
对于第四个测试用例,我们首先可以交换前缀 a[1:1] 与后缀 a[4:4],得到 a=[2,2,3,1];接着再交换前缀 a[1:2] 与后缀 a[3:4],得到 a=[3,1,2,2]。
对于第五个测试用例,无法将 a 转换为 b。
输入解题思路,AI测评打分。不知道怎么写?