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 完成