#P15144. [SWERC 2025] Jewels Building

[SWERC 2025] Jewels Building

题目描述

你正在玩一款奇幻游戏,开始时有一排 nn 个能量水晶。第 ii 个水晶的能量等级为 aia_i。

你可以执行以下操作任意次:

  • 选择一个由相同水晶组成的连续段,即选择 ll 和 rr(1≤l≤r≤∣a∣1 \le l \le r \le |a|)满足 al=al+1=…=ara_l = a_{l+1} = \ldots = a_r;
  • 将它们融合成一个水晶,其能量值变为 r−l+1r - l + 1,得到新序列 $[a_1, \ldots, a_{l-1}, r - l + 1, a_{r+1}, \ldots, a_{|a|}]$。

注意,你也可以选择 l=rl = r。

你希望制作出一个具有特定能量等级 b1,…,bmb_1, \ldots, b_m 的水晶配置。请判断是否可能。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤5001 \le t \le 500)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 n,mn, m(1≤m≤n≤40001 \le m \le n \le 4000)—— 分别表示初始配置和目标配置中的水晶数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \le a_i \le 10^9)—— 初始水晶的能量等级。

每个测试用例的第三行包含 mm 个整数 b1,b2,…,bmb_1, b_2, \ldots, b_m(1≤bi≤1091 \le b_i \le 10^9)—— 目标水晶所需的能量等级。

保证所有测试用例的 nn 之和不超过 40004000。

输出格式

对于每个测试用例,如果可以将初始配置转换为目标配置,则输出 YES,否则输出 NO。

评测系统对大小写不敏感(例如,YES、Yes、yes、yEs 都会被识别为肯定回答)。

3
5 1
2 4 4 2 3
2
5 2
2 4 4 2 3
4 4
1 1
2
1
YES
NO
YES

提示

样例解释

在第一个测试用例中:

  • 初始配置为 [2,4,4,2,3][2, 4, 4, 2, 3];
  • 融合子数组 [l,r]=[2,3][l, r] = [2, 3] 中的两个水晶后,配置变为 [2,2,2,3][2, 2, 2, 3];
  • 融合子数组 [l,r]=[1,3][l, r] = [1, 3] 中的水晶后,配置变为 [3,3][3, 3];
  • 融合子数组 [l,r]=[1,2][l, r] = [1, 2] 中的水晶后,配置变为 [2]=[b1][2] = [b_1]。因此答案为 YES。

在第二个测试用例中,无法从 [2,4,4,2,3][2, 4, 4, 2, 3] 得到 [4,4][4, 4],因此答案为 NO。

翻译由 DeepSeek 完成