luogu#P11616. [PumpkinOI Round 1] 瓦解

    ID: 35487 远端评测题 1200ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>数学2025O2优化组合数学洛谷比赛

[PumpkinOI Round 1] 瓦解

题目背景

时间把镜头带走 不假思索 回忆不放手

题目描述

你手上有一个长为 nn 的数列 aa。小 Q 想让你将其分成不超过 mm非空连续段,且每段内数字严格单调递增。现在小 Q 想知道一共有几种划分方案。由于方案数可能很大,你只需要告诉她方案数对 998244353998244353 取模的结果。

输入格式

本题包含多组测试数据。

输入的第一行包含一个整数 TT,表示测试数据的组数。

接下来包含 TT 组数据,每组数据格式如下:

第一行包含两个整数 n,mn,m,分别表示数列长度和段数要求。

第二行包含 nn 个整数 a1,a2ana_1,a_2\dots a_n

输出格式

对于每组测试数据输出一行,包含一个整数,表示方案数对 998244353998244353 取模的结果。

2
3 2
2 3 1
10 5
7 10 9 23 1 6 7 8 9 20
1
29

提示

样例解释

  • 对于第一组数据,只有 [2,3],[1][2,3],[1] 这一种方案。

数据规模与约定

本题采用捆绑测试。

  • Subtask 0(0 pts):样例。
  • Subtask 1(10 pts):n10\sum n\le 10
  • Subtask 2(20 pts):n1000\sum n\le 1000
  • Subtask 3(10 pts):保证数列本身严格单调递增。
  • Subtask 4(30 pts):n106\sum n\le 10^6
  • Subtask 5(30 pts):n107\sum n\le 10^7

对于所有数据,保证 1n107,1mn,1ai1091\le \sum n\le 10^7,1\le m\le n,1\le a_i\le 10^9