#ARC203B. Swap If Equal Sum

Swap If Equal Sum

Swap If Equal Sum

时间限制:2s
空间限制:1024MB

题目描述

给定两个只包含 00 和 11 的长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N) 与 B=(B1,B2,…,BN)B=(B_1,B_2,\ldots,B_N)。用 A[i,j]A[i,j] 表示 AA 从第 ii 项到第 jj 项组成的连续子序列。

你可以对 AA 进行任意次以下操作:

  • 选择整数 a,b,c,da,b,c,d,满足 1≤a≤b<c≤d≤N1\le a\le b<c\le d\le N,且∑i=abAi=∑i=cdAi;\sum_{i=a}^{b}A_i=\sum_{i=c}^{d}A_i;
  • 交换连续子序列 A[a,b]A[a,b] 与 A[c,d]A[c,d]。也就是说,将 AA 替换为依次拼接 A[1,a−1]A[1,a-1]、A[c,d]A[c,d]、A[b+1,c−1]A[b+1,c-1]、A[a,b]A[a,b]、A[d+1,N]A[d+1,N] 得到的序列。

请判断能否通过若干次操作使 AA 与 BB 完全相同。每个输入文件包含多组测试数据。

输入格式

第一行输入测试数据组数 TT。

每组测试数据包含三行:第一行输入整数 NN;第二行输入 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_N;第三行输入 NN 个整数 B1,B2,…,BNB_1,B_2,\ldots,B_N。

输出格式

对每组测试数据输出一行。如果可以使 AA 变为 BB,输出 Yes;否则输出 No。

样例输入 1

3
6
1 1 1 0 0 1
0 1 1 0 1 1
2
0 0
1 0
3
1 1 1
1 1 1

样例输出 1

Yes
No
Yes

数据范围

对于所有数据,1≤T≤1051\le T\le10^5,2≤N≤2×1052\le N\le2\times10^5,0≤Ai,Bi≤10\le A_i,B_i\le1,且单个输入文件中所有测试数据的 NN 之和不超过 2×1052\times10^5。

子任务编号 分值 特殊限制
1 10 每组测试数据均满足 A=BA=B
2 每组测试数据均满足 ∑Ai≠∑Bi\sum A_i\ne\sum B_i
3 20 每组测试数据均满足 N≤10N\le10
4 30 每组测试数据均满足 ∑Ai=∑Bi≥2\sum A_i=\sum B_i\ge2
5 无特殊限制