CF1698E.PermutationForces II

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a permutation aa of length nn . Recall that permutation is an array consisting of nn distinct integers from 11 to nn in arbitrary order.

You have a strength of ss and perform nn moves on the permutation aa . The ii -th move consists of the following:

  • Pick two integers xx and yy such that ixymin(i+s,n)i \leq x \leq y \leq \min(i+s,n) , and swap the positions of the integers xx and yy in the permutation aa . Note that you can select x=yx=y in the operation, in which case no swap will occur.

You want to turn aa into another permutation bb after nn moves. However, some elements of bb are missing and are replaced with 1-1 instead. Count the number of ways to replace each 1-1 in bb with some integer from 11 to nn so that bb is a permutation and it is possible to turn aa into bb with a strength of ss .

Since the answer can be large, output it modulo 998244353998\,244\,353 .

输入格式

The input consists of multiple test cases. The first line contains an integer tt ( 1t10001 \leq t \leq 1000 ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers nn and ss ( 1n21051 \leq n \leq 2 \cdot 10^5 ; 1sn1 \leq s \leq n ) — the size of the permutation and your strength, respectively.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 1ain1 \le a_i \le n ) — the elements of aa . All elements of aa are distinct.

The third line of each test case contains nn integers b1,b2,,bnb_1, b_2, \ldots, b_n ( 1bin1 \le b_i \le n or bi=1b_i = -1 ) — the elements of bb . All elements of bb that are not equal to 1-1 are distinct.

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For each test case, output a single integer — the number of ways to fill up the permutation bb so that it is possible to turn aa into bb using a strength of ss , modulo 998244353998\,244\,353 .

输入输出样例

  • 输入#1

    6
    3 1
    2 1 3
    3 -1 -1
    3 2
    2 1 3
    3 -1 -1
    4 1
    1 4 3 2
    4 3 1 2
    6 4
    4 2 6 3 1 5
    6 1 5 -1 3 -1
    7 4
    1 3 6 2 7 4 5
    2 5 -1 -1 -1 4 -1
    14 14
    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

    输出#1

    1
    2
    0
    2
    12
    331032489

说明/提示

In the first test case, a=[2,1,3]a=[2,1,3] . There are two possible ways to fill out the 1-1 s in bb to make it a permutation: [3,1,2][3,1,2] or [3,2,1][3,2,1] . We can make aa into [3,1,2][3,1,2] with a strength of 11 as follows: $$$$[2,1,3] \xrightarrow[x=1,,y=1]{} [2,1,3] \xrightarrow[x=2,,y=3]{} [3,1,2] \xrightarrow[x=3,,y=3]{} [3,1,2]. $$ It can be proven that it is impossible to make \[2,1,3\] into \[3,2,1\] with a strength of 11 . Thus only one permutation bb satisfies the constraints, so the answer is 11 .

In the second test case, aa and bb the same as the previous test case, but we now have a strength of 22 . We can make aa into \[3,2,1\] with a strength of 22 as follows: $$ [2,1,3] \xrightarrow[x=1,,y=3]{} [2,3,1] \xrightarrow[x=2,,y=3]{} [3,2,1] \xrightarrow[x=3,,y=3]{} [3,2,1]. $$ We can still make aa into \[3,1,2\] using a strength of 11 as shown in the previous test case, so the answer is 22 .

In the third test case, there is only one permutation bb . It can be shown that it is impossible to turn aa into bb , so the answer is 00$$.

首页