Олимпиадный тренинг

Задача . D. Циклический сдвиг


Дан массив \(a\) длины \(n\). Вы можете выполнить следующую операцию любое количество раз:

  • Выберите два индекса \(l\) и \(r\) такие, что \(1 \le l < r \le n\) и \(a_l = a_r\). После этого, присвоим \(a[l \ldots r] = [a_{l+1}, a_{l+2}, \ldots, a_r, a_l]\).

Вам также дан другой массив \(b\) длины \(n\), который является перестановкой \(a\). Определите, можно ли преобразовать массив \(a\) в массив \(b\), применив описанную выше операцию некоторое количество раз.

Входные данные

Каждый тест содержит несколько наборов входных данных. Первая строка содержит одно целое число \(t\) (\(1 \leq t \leq 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10 ^ 5\))  — длину массивов \(a\) и \(b\).

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le n\))  — элементы массива \(a\).

Третья строка каждого набора входных данных содержит \(n\) целых чисел \(b_1, b_2, \ldots, b_n\) (\(1 \le b_i \le n\))  — элементы массива \(b\).

Гарантируется, что \(b\) является перестановкой \(a\).

Гарантируется, что сумма \(n\) по всем наборам входных данных не превышает \(2 \cdot 10 ^ 5\).

Выходные данные

Для каждого набора входных данных выведите «YES» (без кавычек), если возможно преобразовать массив \(a\) в \(b\), и «NO» (без кавычек) в противном случае.

Вы можете выводить «YES» и «NO» в любом регистре (например, строки «yEs», «yes» и «Yes» будут засчитаны как положительный ответ).

Примечание

В первом наборе входных данных мы можем выбрать \(l=2\) и \(r=5\), получив \([1, 3, 3, 2, 2]\).

Во втором наборов входных данных мы можем выбрать \(l=2\) и \(r=4\), получив \([1, 4, 2, 2, 1]\). Затем мы можем выбрать \(l=1\) и \(r=5\), получив \([4, 2, 2, 1, 1]\).

В третьем наборе входных данных можно доказать, что преобразовать массив \(a\) в \(b\) с помощью данных операций невозможно.


Примеры
Входные данныеВыходные данные
1 5
5
1 2 3 3 2
1 3 3 2 2
5
1 2 4 2 1
4 2 2 1 1
5
2 4 5 5 2
2 2 4 5 5
3
1 2 3
1 2 3
3
1 1 2
2 1 1
YES
YES
NO
YES
NO

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя