CF1980C.Sofia and the Lost Operations
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Sofia 有一个包含 n 个整数的数组 a1,a2,…,an。有一天她觉得这个数组很无聊,于是决定对它依次进行 m 次修改操作。
每次修改操作由一对数字 ⟨cj,dj⟩ 描述,表示将数组下标为 cj 的元素赋值为 dj,即执行 acj=dj。在依次完成所有修改操作后,Sofia 丢弃了最终得到的数组。
最近,你发现了一个包含 n 个整数的数组 b1,b2,…,bn。你想知道这个数组是否可能是 Sofia 修改后的数组。你知道原始数组的值,以及所有 d1,d2,…,dm 的值,但 c1,c2,…,cm 的值已经丢失。
是否存在一个序列 c1,c2,…,cm,使得依次对数组 a1,a2,…,an 执行修改操作 ⟨c1,d1⟩,⟨c2,d2⟩,…,⟨cm,dm⟩ 后,能够得到数组 b1,b2,…,bn?
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤2×105),表示数组的大小。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109),表示原始数组的元素。
第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤109),表示你发现的数组的元素。
第四行包含一个整数 m(1≤m≤2×105),表示修改操作的次数。
第五行包含 m 个整数 d1,d2,…,dm(1≤dj≤109),表示每次修改操作中被保留的值。
保证所有测试用例中 n 的总和不超过 2×105,所有测试用例中 m 的总和也不超过 2×105。
输出格式
输出 t 行,每行对应一个测试用例的答案。如果存在合适的 c1,c2,…,cm 序列,使得最终数组等于 b1,b2,…,bn,则输出 "YES";否则输出 "NO"。
答案可以用任意大小写形式输出(例如 "yEs"、"yes"、"Yes" 和 "YES" 都被认为是正确的正面回答)。
输入输出样例
输入#1
7 3 1 2 1 1 3 2 4 1 3 1 2 4 1 2 3 5 2 1 3 5 2 2 3 5 7 6 1 10 10 3 6 1 11 11 3 4 3 11 4 3 1 7 8 2 2 7 10 5 10 3 2 2 1 5 5 7 1 7 9 4 10 1 2 9 8 1 1 9 8 7 2 10 4 4 1000000000 203 203 203 203 1000000000 203 1000000000 2 203 1000000000 1 1 1 5 1 3 4 5 1
输出#1
YES NO NO NO YES NO YES
说明/提示
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?