[R52C]REC - 代码源竞赛平台
时空限制
1S/512M
题目描述
注意:本题并不是夜空(night)。
传说在很久以前,小怪兽 Pursuewind 作恶多端,jiangly 便将其封印于夜空之中。为了完成封印,jiangly 施展法术重排了星辰,令夜空呈现出特定的星象。
据说这道封印一直留存至今,再无人知晓它昔日的全貌。
apiadu 在阅读古籍时发现,夜空中的星辰可以抽象为一个正整数序列。远古时期的星辰序列为 A=[a1,…,an],而如今所观测到的序列则为 B=[b1,…,bm]。
古籍中还记载了 jiangly 重排星辰时使用的两种法术。具体而言,对于当前长度不小于 2 的星辰序列,jiangly 可以施展以下两种法术之一:
- 删除序列最左侧的两个元素,并在最右侧插入它们的和,然后将整个序列循环向右移一位†;
- 删除序列最右侧的两个元素,并在最左侧插入它们的和,然后将整个序列循环向左移一位‡。
可以发现,每施展一次法术,星辰序列的长度都会恰好减少 1。apiadu 猜测,或许 jiangly 当年仅使用了这两种法术,恰好施展 n−m 次,就将最初的序列 A 变成了如今的序列 B。你需要帮助他判断这是否可能。
循环右移一位†:如果序列为 X=[x1,…,xp],则变为 X′=[xp,x1,…,xp−1]。
循环左移一位‡:如果序列为 X=[x1,…,xp],则变为 X′=[x2,…,xp,x1]。
格式
输入格式
本题采用多组测试。
第一行包含一个正整数 T,表示测试用例的数量。
对于每组测试用例,第一行包含两个正整数 n,m,分别表示远古时期的星辰序列 A 和如今所观测到的星辰序列 B 的长度。
第二行包含 n 个正整数 a1,a2,…,an,表示星辰序列 A。
第三行包含 m 个正整数 b1,b2,…,bm,表示星辰序列 B。
输出格式
对于每组测试用例,输出一行。如果可以通过施展法术将序列 A 变为序列 B,输出 Yes,否则输出 No。
样例
样例输入 #1
4
5 3
1 2 3 4 5
3 3 9
5 3
1 2 3 4 5
3 4 8
5 5
1 2 3 4 5
1 2 3 4 5
4 1
1 2 3 4
10
样例输出 #1
Yes
No
Yes
Yes
样例解释 #1
对于第一组测试用例,星辰序列 A=[1,2,3,4,5]。
- 首先施展法术 1,删除最左侧的 1 和 2,在最右侧插入它们的和 3,序列变为 [3,4,5,3],然后循环向右移一位,得到 [3,3,4,5]。
- 接着施展法术 2,删除最右侧的 4 和 5,在最左侧插入它们的和 9,序列变为 [9,3,3],然后循环向左移一位,得到 [3,3,9]。
最终得到的序列与 B 相同,因此输出 Yes。
对于第二组测试用例,无论如何施展法术都无法将 A 变为 B=[3,4,8],因此输出 No。
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 |
分数 |
n≤ |
子任务依赖 |
| 1 |
20 |
10 |
无 |
| 2 |
20 |
103 |
1 |
| 3 |
60 |
105 |
1,2 |
对于 100% 的数据,1≤T≤10,1≤m≤n≤105,1≤ai,bi≤109。