超级未负数列
题目背景
当一个数列的和非负时,我们称之为未负数列。当一个数列的所有长度大于 1 的连续子数列都是未负数列时,我们称之为超级未负数列。
题目描述
请你帮助 Karl 计算,长度为 n 值区间为 [−m,m] 的所有数列中,有多少个数列是超级未负数列。
输入格式
两个正整数 n,m。
输出格式
一个整数表示答案(结果可能过大,请对 998244353 取模)。
样例 #1
样例输入 #1
2 2
样例输出 #1
15
样例 #2
样例输入 #2
3 3
样例输出 #2
130
样例 #3
样例输入 #3
10 7
样例输出 #3
577706683
提示
【样例说明】
- 样例 1:有 {−2,2}、{−1,1}、{−1,2}、{0,0}、{0,1}、{0,2}、{1,−1}、{1,0}、{1,1}、{1,2}、{2,−2}、{2,−1}、{2,0}、{2,1}、{2,2} 一共 15 种合法数列。
【数据范围】
对于所有数据,1≤n≤5×103
,1≤m≤5×103。
| 测试点编号 | n | m | 特殊约束 |
|---|
| 1∼4 | ≤17 | =1 | 无 |
| 5∼10 | ≤3×102 | =1 | 无 |
| 11∼16 | ≤3×102 | ≤3×102 | 无 |
| 17∼20 | ≤5×103 | ≤5×103 | 无 |
我打表发现m=1的情况时,ans[i]=ans[i-1]*2+ans[i-2];过了,但不知道为啥,求大佬证一下