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

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

题目描述

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

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

数据规模与约定

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/C2