P15144 [SWERC 2025] Jewels Building

题目描述

你正在玩一款奇幻游戏,开始时有一排 $n$ 个能量水晶。第 $i$ 个水晶的能量等级为 $a_i$。 你可以执行以下操作任意次: - 选择一个由相同水晶组成的连续段,即选择 $l$ 和 $r$($1 \le l \le r \le |a|$)满足 $a_l = a_{l+1} = \ldots = a_r$; - 将它们融合成一个水晶,其能量值变为 $r - l + 1$,得到新序列 $[a_1, \ldots, a_{l-1}, r - l + 1, a_{r+1}, \ldots, a_{|a|}]$。 注意,你也可以选择 $l = r$。 你希望制作出一个具有特定能量等级 $b_1, \ldots, b_m$ 的水晶配置。请判断是否可能。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 500$)。接下来是测试用例的描述。 每个测试用例的第一行包含两个整数 $n, m$($1 \le m \le n \le 4000$)—— 分别表示初始配置和目标配置中的水晶数量。 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)—— 初始水晶的能量等级。 每个测试用例的第三行包含 $m$ 个整数 $b_1, b_2, \ldots, b_m$($1 \le b_i \le 10^9$)—— 目标水晶所需的能量等级。 保证所有测试用例的 $n$ 之和不超过 $4000$。

输出格式

对于每个测试用例,如果可以将初始配置转换为目标配置,则输出 **YES**,否则输出 **NO**。 评测系统对大小写不敏感(例如,YES、Yes、yes、yEs 都会被识别为肯定回答)。

说明/提示

#### 样例解释 在第一个测试用例中: - 初始配置为 $[2, 4, 4, 2, 3]$; - 融合子数组 $[l, r] = [2, 3]$ 中的两个水晶后,配置变为 $[2, 2, 2, 3]$; - 融合子数组 $[l, r] = [1, 3]$ 中的水晶后,配置变为 $[3, 3]$; - 融合子数组 $[l, r] = [1, 2]$ 中的水晶后,配置变为 $[2] = [b_1]$。因此答案为 **YES**。 在第二个测试用例中,无法从 $[2, 4, 4, 2, 3]$ 得到 $[4, 4]$,因此答案为 **NO**。 翻译由 DeepSeek 完成