CF1967E1.Again Counting Arrays (Easy Version)
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是该问题的简单版本。两个版本的区别在于 n,m,b0 的约束条件和时间限制。只有在两个版本都解决后才能进行 hack。
小 R 以前数过很多集合,现在她决定来数一数数组。
小 R 认为一个由非负整数组成的数组 b0,…,bn 是连续的,当且仅当对于每个满足 1≤i≤n 的 i,都有 ∣bi−bi−1∣=1。她喜欢连续性,所以她只想生成连续数组。
如果小 R 给定了 b0 和 a1,…,an,她会尝试生成一个非负的连续数组 b,并且 b 与 a 没有相似之处。更正式地说,对于所有 1≤i≤n,都有 ai=bi。
然而,小 R 并没有任何数组 a。相反,她给了你 n、m 和 b0。她想要统计满足以下条件的不同整数数组 a1,…,an 的个数:
- 1≤ai≤m;
- 至少存在一个非负连续数组 b0,…,bn 可以被生成。
注意 bi≥0,但 bi 可以任意大。
由于实际答案可能非常大,请将答案对 998244353 取模后输出。
输入格式
每个测试点包含多组测试数据。第一行包含测试用例数 t (1≤t≤104)。接下来是每组测试数据的描述。
每组测试数据的第一行包含三个整数 n、m 和 b0(1≤n≤2⋅105,1≤m≤2⋅105,0≤b0≤2⋅105)——数组 a1,…,an 的长度、a1,…,an 的最大可能元素,以及数组 b0,…,bn 的初始元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一行一个整数,表示满足条件的不同数组 a1,…,an 的个数,对 998244353 取模。
输入输出样例
输入#1
6 3 2 1 5 5 3 13 4 1 100 6 7 100 11 3 1000 424 132
输出#1
6 3120 59982228 943484039 644081522 501350342
说明/提示
以第一个测试用例为例,当 a=[1,2,1] 时,可以设置 b=[1,0,1,0]。当 a=[1,1,2] 时,可以设置 b=[1,2,3,4]。总共有 6 种合法的 a1,…,an 选择:实际上可以证明,只有 a=[2,1,1] 和 a=[2,1,2] 无法构造出非负连续的 b0,…,bn,所以答案是 23−2=6。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?