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

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

题目描述

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

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

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

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

输入格式

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

每个测试用例:

第一行两个整数 nnkk

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

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

输出格式

对于每个测试用例,输出一行 YESNO

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

数据规模与约定

1t1041 \le t \le 10^4

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

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

数组 aa1n1 \sim n 的排列。

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

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

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