#CF2211C1. 1223~相同多重集合(简单版)

1223~相同多重集合(简单版)

题目描述

有一个长度为 nn 的数组 aa 和一个参数 kk。

如果一个数组 bb 满足:对于每一个从 kk 到 nn 的下标 ii,数组 aa 中从 i−k+1i-k+1 到 ii 的一段,和数组 bb 中从 i−k+1i-k+1 到 ii 的一段,是重新排列后完全一样的,那么数组 bb 就叫合格数组。

现在给你数组 aa、数组 bb 和整数 kk。数组 aa 是一个 1∼n1 \sim n 的排列。数组 bb 里只有 1∼n1 \sim n 的数和 −1-1。

请你判断:能不能把 bb 里所有的 −1-1 替换成 1∼n1 \sim n 里的数,让 bb 变成合格数组。

输入格式

第一行一个整数 tt,表示测试用例个数。

每个测试用例:

第一行两个整数 nn 和 kk。

第二行 nn 个整数,表示数组 a1,a2,…,ana_1,a_2,\dots,a_n。

第三行 nn 个整数,表示数组 b1,b2,…,bnb_1,b_2,\dots,b_n。

输出格式

对于每个测试用例,输出一行 YES 或 NO。

4
5 5
1 2 3 4 5
3 1 5 2 4
5 4
4 1 2 5 3
2 -1 -1 -1 -1
6 4
1 2 4 3 5 6
-1 -1 3 -1 -1 -1
6 4
1 2 4 3 5 6
-1 -1 3 3 -1 -1
YES
NO
YES
NO

数据规模与约定

1≤t≤1041 \le t \le 10^4

1≤k≤n≤2×1051 \le k \le n \le 2 \times 10^5

所有测试用例的 nn 之和不超过 2×1052 \times 10^5。

数组 aa 是 1∼n1 \sim n 的排列。

数组 bb 中的元素是 −1-1 或 1∼n1 \sim n 的整数。

来源:Codeforces Round 1088 (Div. 1 + Div. 2)

题目网址:https://codeforces.com/contest/2211/problem/C1