题目描述
给定两个长度为 N 的正整数序列 A=(A1,A2,…,AN) 和 B=(B1,B2,…,BN)。
你可以任意次数(也可以不进行操作)重复以下操作:
- 选择一个满足 1≤i≤N 的整数 i,将 Ai 替换为 Ai+1。
其中,AN+1 视为 A1。
请判断是否可以通过若干次操作将 A 变为 B。
有 T 组测试数据,请分别输出每组的答案。
输入格式
输入通过标准输入给出,格式如下:
T
case1
case2
⋮
caseT
每组测试数据格式如下:
N A1 A2 … AN B1 B2 … BN
输出格式
输出 T 行。第 i 行输出第 i 个测试用例的答案。如果可以将 A 变为 B,输出 Yes,否则输出 No。
样例 1
输入
3
2
1 2
2 2
4
2 3 1 1
2 1 1 2
2
1 1
2 2
输出
Yes
Yes
No
说明/提示
限制条件
- 1≤T≤5000
- 1≤N≤5000
- 1≤Ai,Bi≤N
- 所有测试用例中 N 的总和不超过 5000。
样例解释 1
对于第 1 个测试用例,可以如下操作将 A 变为 B:
- 选择 i=1,将 A1 替换为 A2,此时 A=(2,2)。
对于第 2 个测试用例,可以如下操作将 A 变为 B:
- 选择 i=4,将 A4 替换为 A1,此时 A=(2,3,1,2)。
- 选择 i=2,将 A2 替换为 A3,此时 A=(2,1,1,2)。
对于第 3 个测试用例,无论如何操作,都无法将 A 变为 B。
由 ChatGPT 4.1 翻译