AtCoder Grand Contest 074
B
Swap if Equal Length and Sum
AtCoder
⌀ 2626
原题
← AC →
翻译中…

Problem Statement

翻译中…

You are given integer sequences $A=(A_1,A_2,\dots,A_N),\; B=(B_1,B_2,\dots,B_N)$ of length $N$ consisting of $0$ and $1$. Let $A[i,j]$ denote the contiguous subsequence from the $i$-th through $j$-th elements of sequence $A$. If $i>j$, $A[i,j]$ is a sequence of length $0$. You can perform the following operation on $A$ at most $\lfloor\frac{N}{2}\rfloor$ times:

翻译中…
  • Choose four integers $a,b,c,d$ that satisfy the following three conditions:
  • $1 \leq a \leq b < c \leq d \leq N$
    • $b-a=d-c$
    • $\sum_{i=a}^{b}{A_i}=\sum_{i=c}^{d}{A_i}$
  • Swap $A[a,b]$ and $A[c,d]$. More precisely, replace $A$ with the concatenation of $A[1,a-1]$, $A[c,d]$, $A[b+1,c-1]$, $A[a,b]$, $A[d+1,N]$ in this order.
翻译中…

Determine whether it is possible to make $A$ match $B$, and if possible, construct one sequence of operations.

翻译中…

Solve $T$ test cases per input.

翻译中…

Constraints

翻译中…
  • $1 \leq T \leq 25000$
  • $2 \leq N \leq 2 \times 10^5$
  • $0 \leq A_i \leq 1$
  • $0 \leq B_i \leq 1$
  • The sum of $N$ over all test cases is at most $2\times 10^5$.
  • All input values are integers.
翻译中…

Input

翻译中…

The input is given from Standard Input in the following format:

翻译中…

T
case_1
case_2
\vdots
case_T

翻译中…

Each case is given in the following format:

翻译中…

N
A_1 A_2 \dots A_N
B_1 B_2 \dots B_N

翻译中…

Output

翻译中…

Output the answer in the following format:

翻译中…

output_1
output_2
\vdots
output_T

翻译中…

Here, $output_t$ represents the output for the $t$-th test case. For each case, if you can make $A$ match $B$, let $K$ be the number of operations required and $(a_k,b_k,c_k,d_k)$ be the values chosen in the $k$-th operation, then output in the following format:

翻译中…

Yes
K
a_1 b_1 c_1 d_1
a_2 b_2 c_2 d_2
\vdots
a_K b_K c_K d_K

翻译中…

If it is impossible to make $A$ match $B$, output No.

翻译中…

样例

Input #1
3
8
1 0 0 1 0 1 0 1
0 0 1 1 1 0 1 0
2
0 0
1 0
3
1 1 1
1 1 1
Output #1
Yes
2
3 4 6 7
1 4 5 8
No
Yes
0
In the first test case, $A$ is initially $(1,0,0,1,0,1,0,1)$. Performing the operation with $(a,b,c,d)=(3,4,6,7)$ changes $A$ to $(1,0,1,0,0,0,1,1)$. Then, performing the operation with $(a,b,c,d)=(1,4,5,8)$ changes $A$ to $(0,0,1,1,1,0,1,0)$, which matches $B$. In the second test case, it is impossible to make $A$ match $B$. In the third test case, $A$ already matches $B$ from the beginning.
题目信息
题号
agc074_b
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。