#ATarc114c. [ARC114C] Sequence Scores

[ARC114C] Sequence Scores

题目描述

对于由 11MM 之间的整数构成的长度为 NN 的数列 AA,定义 f(A)f(A) 如下:

  • 存在一个长度为 NN 的数列 XX,初始时所有元素均为 00f(A)f(A) 表示通过以下操作将 XX 变为 AA 所需的最少操作次数。
    • 可以指定 1lrN1 \leq l \leq r \leq N1vM1 \leq v \leq M,将 lirl \leq i \leq r 的所有 XiX_i 替换为 max(Xi,v)\max(X_i, v)

作为 AA 的所有可能的数列共有 MNM^N 种。请计算所有这些数列对应的 f(A)f(A) 之和,并对 998244353998244353 取模。

输入格式

输入从标准输入读取,格式如下:

NN MM

输出格式

输出所有数列对应的 f(A)f(A) 之和对 998244353998244353 取模的结果。

样例 1

输入

2 3

输出

15

样例 2

输入

3 2

输出

15

样例 3

输入

34 56

输出

649717324

说明/提示

限制条件

  • 1N,M50001 \leq N, M \leq 5000
  • 输入均为整数

样例解释 1

共有 32=93^2 = 9 种数列,对应的 ff 值如下:

  • A=(1,1)A = (1, 1) 时,只需一次操作 (l=1,r=2,v=1)(l=1, r=2, v=1),所以 f(A)=1f(A) = 1
  • A=(1,2)A = (1, 2) 时,先操作 (l=1,r=2,v=1)(l=1, r=2, v=1),再操作 (l=2,r=2,v=2)(l=2, r=2, v=2),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(1,3)A = (1, 3) 时,先操作 (l=1,r=2,v=1)(l=1, r=2, v=1),再操作 (l=2,r=2,v=3)(l=2, r=2, v=3),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(2,1)A = (2, 1) 时,先操作 (l=1,r=2,v=1)(l=1, r=2, v=1),再操作 (l=1,r=1,v=2)(l=1, r=1, v=2),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(2,2)A = (2, 2) 时,只需一次操作 (l=1,r=2,v=2)(l=1, r=2, v=2),所以 f(A)=1f(A) = 1
  • A=(2,3)A = (2, 3) 时,先操作 (l=1,r=2,v=2)(l=1, r=2, v=2),再操作 (l=2,r=2,v=3)(l=2, r=2, v=3),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(3,1)A = (3, 1) 时,先操作 (l=1,r=2,v=1)(l=1, r=2, v=1),再操作 (l=1,r=1,v=3)(l=1, r=1, v=3),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(3,2)A = (3, 2) 时,先操作 (l=1,r=2,v=2)(l=1, r=2, v=2),再操作 (l=1,r=1,v=3)(l=1, r=1, v=3),共需 22 次操作,所以 f(A)=2f(A) = 2
  • A=(3,3)A = (3, 3) 时,只需一次操作 (l=1,r=2,v=3)(l=1, r=2, v=3),所以 f(A)=1f(A) = 1

这些 f(A)f(A) 的和为 3×1+6×2=153 \times 1 + 6 \times 2 = 15

由 ChatGPT 4.1 翻译