CF2211C1 Equal Multisets (Easy Version)

题目描述

这是该问题的简单版本。两个版本的区别在于本版本中,数组 $a$ 保证为一个排列。只有当你解出了所有版本的问题,才可以进行 hack。 给定一个大小为 $n$ 的数组 $a$ 和一个参数 $k$,如果数组 $b$ 满足以下条件,则称 $b$ 为“cool”: - 对于每个 $i$ 从 $k$ 到 $n$,数组 $[a_{i-k+1},a_{i-k+2},\ldots,a_i]$ 是 $[b_{i-k+1},b_{i-k+2},\ldots,b_i]$ 的一个重排列。 现在给定两个长度为 $n$ 的数组 $a$ 和 $b$,以及一个整数 $k$。数组 $a$ 保证为一个排列。数组 $b$ 的元素仅包含 $1$ 到 $n$ 的整数和 $-1$。 请判断是否可以将 $b$ 中所有 $-1$ 替换为 $1$ 到 $n$ 之间的整数,使得 $b$ 关于 $k$ 是“cool”的。 注:长度为 $n$ 的排列是指每个 $1$ 到 $n$ 的整数恰好出现一次的数组。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是($2$ 出现了两次),$[1,3,4]$ 也不是($n=3$,但有 $4$ 出现)。

输入格式

每个测试用例包含多组数据。第一行包含测试用例组数 $t$,$(1 \le t \le 10^4)$。每组测试用例描述如下。 每组测试用例的第一行包含两个整数 $n$ 和 $k$,$(1 \leq k \leq n \leq 2 \cdot 10^5)$。 第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$,$(1 \le a_i \le n)$。本版本保证 $a$ 是一个排列。 第三行包含 $n$ 个整数 $b_1,b_2,\ldots,b_n$,其中 $1 \leq b_i \leq n$ 或 $b_i=-1$。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每组测试用例,若可以,输出 YES;否则输出 NO。你可以用大写或小写字母输出。

说明/提示

在第一个测试用例中,$k=5$。只有一个长度为 $5$ 的子数组为 $[1,5]$。可以看到 $b$ 是 $a$ 的一个重排列,因此答案为 YES。 第二个测试用例中,可以证明无法将所有 $-1$ 替换为 $1$ 到 $n$ 之间的数,使得每个长度为 $k=4$ 的子数组互为重排列。 由 ChatGPT 5 翻译