2062. cats与数组替换

时间限制 1000 ms   内存限制 256 MB

cats 有一个长度为 $n$ 的数组 $a$,数组中的每个数都在 $1$ 到 $m$ 之间。在一次操作中,cats 可以选择两个不同的 $1$ 到 $m$ 之间的正整数 $x,y$,并将数组 $a$ 中所有等于 $x$ 的数变为 $y$。cats 可以对数组进行任意数量次的操作(也可以不进行任何操作)。现在,cats 想知道他能否将数组 $a$ 变为数组 $b$。你能帮 cats 算出答案吗?

输入数据

第一行为一个整数 $T(1\le T\le 10^4)$,表示测试点的总数。对于每个测试点:

第一行为两个整数 $n,m(1 \leq n \leq 2 \times 10^5,2\leq m \leq 2 \times 10^5)$,表示数组 $a,b$ 的长度和数组 $a,b$ 中的数的大小的上限。

第二行为 $n$ 个整数 $a_1,a_2,\cdots a_n(1\leq a_i \leq m)$,表示数组 $a$。

第三行为 $n$ 个整数 $b_1,b_2,\cdots b_n(1\leq b_i \leq m)$,表示数组 $b$。

保证所有测试点的 $n$ 之和不超过 $2\times 10^5$,保证所有测试点的 $m$ 之和不超过 $2\times 10^5$。

输出数据

对于每个测试点,如果 cats 可以将数组 $a$ 变为数组 $b$,输出 YES。否则,输出 NO

样例输入

复制
6
5 5
2 1 2 4 4
5 2 5 2 2
4 4
1 3 2 3
4 4 4 2
3 3
1 2 3
2 3 1
6 6
1 2 3 4 5 6
1 2 3 4 5 6
7 2
1 2 2 1 1 2 1
2 1 1 2 2 1 2
10 9
3 1 4 1 5 9 2 6 5 3
2 7 1 8 2 8 1 8 2 8 \n
 · \n
 · · · · \n
 · · · · \n
 · \n
 · · · \n
 · · · \n
 · \n
 · · \n
 · · \n
 · \n
 · · · · · \n
 · · · · · \n
 · \n
 · · · · · · \n
 · · · · · · \n
  · \n
 · · · · · · · · · \n
 · · · · · · · · · \n

样例输出

复制
YES
NO
NO
YES
NO
NO   \n
  \n
  \n
   \n
  \n
  \n

样例说明

对于第一个测试点,可以经过以下方式得到数组 $b$:

  1. 选择 $x = 2,y = 5$,数组变为 $(5,1,5,4,4)$。
  2. 选择 $x = 1,y = 4$,数组变为 $(5,4,5,4,4)$。
  3. 选择 $x = 4,y = 2$,数组变为 $(5,2,5,2,2)$。

对于第四个测试点,可以不进行任何操作。

提交

请先 登录

© 2024 FAQs Contact About