A15160 | Tokitsukaze and Permutations
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Tokitsukaze has a permutation $p$ . She performed the following operation to $p$ exactly $k$ times: in one operation, for each $i$ from $1$ to $n - 1$ in order, if $p_i$ > $p_{i+1}$ , swap $p_i$ , $p_{i+1}$ . After exactly $k$ times of operations, Tokitsukaze got a new sequence $a$ , obviously the sequence $a$ is also a permutation.
After that, Tokitsukaze wrote down the value sequence $v$ of $a$ on paper. Denote the value sequence $v$ of the permutation $a$ of length $n$ as $v_i=\sum_{j=1}^{i-1}[a_i < a_j]$ , where the value of $[a_i < a_j]$ define as if $a_i < a_j$ , the value is $1$ , otherwise is $0$ (in other words, $v_i$ is equal to the number of elements greater than $a_i$ that are to the left of position $i$ ). 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 $v$ 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 $p$ was. She wants to know how many different permutations $p$ there are, so that the value sequence $v$ of the new permutation $a$ after exactly $k$ operations is the same as the $v$ written on the paper (not taking into account the unclear positions).
Since the answer may be too large, print it modulo $998\,244\,353$ .
After that, Tokitsukaze wrote down the value sequence $v$ of $a$ on paper. Denote the value sequence $v$ of the permutation $a$ of length $n$ as $v_i=\sum_{j=1}^{i-1}[a_i < a_j]$ , where the value of $[a_i < a_j]$ define as if $a_i < a_j$ , the value is $1$ , otherwise is $0$ (in other words, $v_i$ is equal to the number of elements greater than $a_i$ that are to the left of position $i$ ). 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 $v$ 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 $p$ was. She wants to know how many different permutations $p$ there are, so that the value sequence $v$ of the new permutation $a$ after exactly $k$ operations is the same as the $v$ written on the paper (not taking into account the unclear positions).
Since the answer may be too large, print it modulo $998\,244\,353$ .
输入格式
The first line contains a single integer $t$ ( $1 \leq t \leq 1000$ ) — the number of test cases. Each test case consists of two lines.
The first line contains two integers $n$ and $k$ ( $1 \leq n \leq 10^6$ ; $0 \leq k \leq n-1$ ) — the length of the permutation and the exactly number of operations.
The second line contains $n$ integers $v_1, v_2, \dots, v_n$ ( $-1 \leq v_i \leq i-1$ ) — the value sequence $v$ . $v_i = -1$ means the $i$ -th position of $v$ can't be seen clearly.
It is guaranteed that the sum of $n$ over all test cases does not exceed $10^6$ .
The first line contains two integers $n$ and $k$ ( $1 \leq n \leq 10^6$ ; $0 \leq k \leq n-1$ ) — the length of the permutation and the exactly number of operations.
The second line contains $n$ integers $v_1, v_2, \dots, v_n$ ( $-1 \leq v_i \leq i-1$ ) — the value sequence $v$ . $v_i = -1$ means the $i$ -th position of $v$ can't be seen clearly.
It is guaranteed that the sum of $n$ over all test cases does not exceed $10^6$ .
输出格式
For each test case, print a single integer — the number of different permutations modulo $998\,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]$ satisfies the constraint condition.
In the second test case, there are $6$ permutations satisfying the constraint condition, which are:
- $[3,4,5,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[3,5,4,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[4,3,5,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[4,5,3,2,1]$ $\rightarrow$ $[4,3,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[5,3,4,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[5,4,3,2,1]$ $\rightarrow$ $[4,3,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
So after exactly $2$ times of swap they will all become $a=[3,2,1,4,5]$ , whose value sequence is $v=[0,1,2,0,0]$ .
In the second test case, there are $6$ permutations satisfying the constraint condition, which are:
- $[3,4,5,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[3,5,4,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[4,3,5,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[4,5,3,2,1]$ $\rightarrow$ $[4,3,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[5,3,4,2,1]$ $\rightarrow$ $[3,4,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
- $[5,4,3,2,1]$ $\rightarrow$ $[4,3,2,1,5]$ $\rightarrow$ $[3,2,1,4,5]$
So after exactly $2$ times of swap they will all become $a=[3,2,1,4,5]$ , whose value sequence is $v=[0,1,2,0,0]$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted