P13947 [EC Final 2019] Permutation

题目描述

给定一个排列 $p_1, p_2, \dots, p_n$。你可以重复进行以下操作: - 选择一个区间 $p_{l}, p_{l+1}, \dots, p_{l+c}$($l \geq 1, l+c \leq n$),如果 $p_l$ 是该区间中的最小元素,则你可以任意排列 $p_{l+1}, \dots, p_{l+c}$。 - 选择一个区间 $p_{l}, p_{l+1}, \dots, p_{l+c}$($l \geq 1, l+c \leq n$),如果 $p_{l+c}$ 是该区间中的最小元素,则你可以任意排列 $p_{l}, \dots, p_{l+c-1}$。 你想知道通过这些操作,最多可以得到多少种不同的排列。答案可能很大,请输出对 $998244353$ 取模后的结果。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量($1\le T\le 100000$)。 每个测试用例的第一行包含两个整数 $n$ 和 $c$($2\le c \le 500000$,$2\le n\le 500000$)。所有测试用例中 $n$ 的总和不超过 $500000$。 每个测试用例的第二行包含一个排列 $p_1,\ldots, p_n$($1\le p_i\le n$)。

输出格式

对于每个测试用例,输出一行答案,对 $998244353$ 取模。

说明/提示

由 ChatGPT 4.1 翻译