#CF2211C2. 1759~相同多重集合(困难版)

1759~相同多重集合(困难版)

题目描述

有一个长度为 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

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

数据规模与约定

1t1041 \le t \le 10^4

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

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

数组 aa 中的元素是 1n1 \sim n 的整数。

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

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

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