CF2199D Two Arrays

题目描述

一个序列 $[s_1, s_2, \dots, s_k]$ 的中位数定义为:将序列按非递减顺序排序后,处于第 $\lfloor \frac{k+1}{2} \rfloor$ 个位置的元素。例如,序列 $[4, 5, 6, 1, 2, 2]$ 的中位数是 $2$;序列 $[3, 6, 3, 4, 5]$ 的中位数是 $4$。 现给定两个按非递减顺序排列的数组 $[a_1, a_2, \dots, a_n]$ 和 $[b_1, b_2, \dots, b_m]$,它们的长度都是奇数。 每次操作,你可以进行以下步骤之一: - 任选一个数组,并在数组中标记奇数个元素; - 计算 $x$——这些被标记元素的中位数; - 移除所有被标记的元素; - 将 $x$ 插入到操作的数组中的任意一个位置。 你的任务是判断,是否有可能通过若干次上述操作,使两个数组完全相同。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例包含三行: - 第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 3 \cdot 10^5$); - 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_1 \le a_2 \le \dots \le a_n \le 10^9$); - 第三行包含 $m$ 个整数 $b_1, b_2, \dots, b_m$($1 \le b_1 \le b_2 \le \dots \le b_m \le 10^9$)。 输入的额外约束: - 所有测试用例的 $(n+m)$ 总和不超过 $3 \cdot 10^5$; - 在每个测试用例中,$n \bmod 2 = 1$ 且 $m \bmod 2 = 1$。

输出格式

对于每个测试用例,如果可以通过操作使两数组完全相同,输出 YES,否则输出 NO。

说明/提示

在第一个样例中,可以通过如下操作使两数组相同: 1. 对数组 $a = [1, 2, 3, 4, 5]$,标记第 $2$、$4$、$5$ 个元素(即 $2, 4, 5$)。它们的中位数为 $4$。将其插入数组末尾,得到 $a = [1, 3, 4]$; 2. 对数组 $b = [1, 3, 7]$,标记所有元素。它们的中位数为 $3$。此时 $b = [3]$; 3. 对数组 $a = [1, 3, 4]$,标记所有元素。它们的中位数为 $3$。此时 $a = [3]$; 4. 现在 $a$ 和 $b$ 已经相同。 由 ChatGPT 5 翻译