[PumpkinOI Round 1] 瓦解
题目背景
> 时间把镜头带走 不假思索 回忆不放手
题目描述
你手上有一个长为 $n$ 的数列 $a$。小 Q 想让你将其分成不超过 $m$ 段**非空**连续段,且每段内数字**严格单调递增**。现在小 Q 想知道一共有几种划分方案。由于方案数可能很大,你只需要告诉她方案数对 $998244353$ 取模的结果。
输入输出格式
输入格式
**本题包含多组测试数据。**
输入的第一行包含一个整数 $T$,表示测试数据的组数。
接下来包含 $T$ 组数据,每组数据格式如下:
第一行包含两个整数 $n,m$,分别表示数列长度和段数要求。
第二行包含 $n$ 个整数 $a_1,a_2\dots a_n$。
输出格式
对于每组测试数据输出一行,包含一个整数,表示方案数对 $998244353$ 取模的结果。
输入输出样例
输入样例 #1
2
3 2
2 3 1
10 5
7 10 9 23 1 6 7 8 9 20
输出样例 #1
1
29
说明
### 样例解释
- 对于第一组数据,只有 $[2,3],[1]$ 这一种方案。
### 数据规模与约定
**本题采用捆绑测试。**
- Subtask 0(0 pts):样例。
- Subtask 1(10 pts):$\sum n\le 10$。
- Subtask 2(20 pts):$\sum n\le 1000$。
- Subtask 3(10 pts):保证数列本身严格单调递增。
- Subtask 4(30 pts):$\sum n\le 10^6$。
- Subtask 5(30 pts):$\sum n\le 10^7$。
对于所有数据,保证 $1\le \sum n\le 10^7,1\le m\le n,1\le a_i\le 10^9$。