CF1677D.Tokitsukaze and Permutations

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Tokitsukaze has a permutation pp . She performed the following operation to pp exactly kk times: in one operation, for each ii from 11 to n1n - 1 in order, if pip_i > pi+1p_{i+1} , swap pip_i , pi+1p_{i+1} . After exactly kk times of operations, Tokitsukaze got a new sequence aa , obviously the sequence aa is also a permutation.

After that, Tokitsukaze wrote down the value sequence vv of aa on paper. Denote the value sequence vv of the permutation aa of length nn as vi=j=1i1[ai<aj]v_i=\sum_{j=1}^{i-1}[a_i < a_j] , where the value of [ai<aj][a_i < a_j] define as if ai<aja_i < a_j , the value is 11 , otherwise is 00 (in other words, viv_i is equal to the number of elements greater than aia_i that are to the left of position ii ). Then Tokitsukaze went out to work.

There are three naughty cats in Tokitsukaze's house. When she came home, she found the paper with the value sequence vv to be bitten out by the cats, leaving several holes, so that the value of some positions could not be seen clearly. She forgot what the original permutation pp was. She wants to know how many different permutations pp there are, so that the value sequence vv of the new permutation aa after exactly kk operations is the same as the vv written on the paper (not taking into account the unclear positions).

Since the answer may be too large, print it modulo 998244353998\,244\,353 .

输入格式

The first line contains a single integer tt ( 1t10001 \leq t \leq 1000 ) — the number of test cases. Each test case consists of two lines.

The first line contains two integers nn and kk ( 1n1061 \leq n \leq 10^6 ; 0kn10 \leq k \leq n-1 ) — the length of the permutation and the exactly number of operations.

The second line contains nn integers v1,v2,,vnv_1, v_2, \dots, v_n ( 1vii1-1 \leq v_i \leq i-1 ) — the value sequence vv . vi=1v_i = -1 means the ii -th position of vv can't be seen clearly.

It is guaranteed that the sum of nn over all test cases does not exceed 10610^6 .

输出格式

For each test case, print a single integer — the number of different permutations modulo 998244353998\,244\,353 .

输入输出样例

  • 输入#1

    3
    5 0
    0 1 2 3 4
    5 2
    -1 1 2 0 0
    5 2
    0 1 1 0 0

    输出#1

    1
    6
    6

说明/提示

In the first test case, only permutation p=[5,4,3,2,1]p=[5,4,3,2,1] satisfies the constraint condition.

In the second test case, there are 66 permutations satisfying the constraint condition, which are:

  • [3,4,5,2,1][3,4,5,2,1] \rightarrow [3,4,2,1,5][3,4,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]
  • [3,5,4,2,1][3,5,4,2,1] \rightarrow [3,4,2,1,5][3,4,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]
  • [4,3,5,2,1][4,3,5,2,1] \rightarrow [3,4,2,1,5][3,4,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]
  • [4,5,3,2,1][4,5,3,2,1] \rightarrow [4,3,2,1,5][4,3,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]
  • [5,3,4,2,1][5,3,4,2,1] \rightarrow [3,4,2,1,5][3,4,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]
  • [5,4,3,2,1][5,4,3,2,1] \rightarrow [4,3,2,1,5][4,3,2,1,5] \rightarrow [3,2,1,4,5][3,2,1,4,5]

So after exactly 22 times of swap they will all become a=[3,2,1,4,5]a=[3,2,1,4,5] , whose value sequence is v=[0,1,2,0,0]v=[0,1,2,0,0] .

首页