P15625 [ICPC 2022 Jakarta R] Sharing Bread
题目描述
有 $N$ 个烤面包机,从左到右编号为 $1$ 到 $N$。初始时,每个烤面包机中都有一片面包。有 $M$ 个人,编号为 $1$ 到 $M$,他们依次在烤面包机中寻找面包,从第 $1$ 个人开始,然后是第 $2$ 个人,依此类推。
第 $i$ 个人从烤面包机 $a_i$($1 \leq a_i \leq N$)开始寻找,并一直向右寻找,直到找到一个装有面包的烤面包机。换句话说,第 $i$ 个人寻找的是满足 $a_i \leq j \leq N$ 且烤面包机 $j$ 中含有面包的最小 $j$。如果这样的烤面包机存在,那么第 $i$ 个人将从该烤面包机中取走面包并离开;之后该烤面包机变为空。如果这样的烤面包机不存在,那么第 $i$ 个人将空手离开。
一个起始序列 $(a_1, a_2, \cdots, a_M)$ 被称为**公平**的,如果对于所有 $1 \leq i \leq M$,第 $i$ 个人从烤面包机 $a_i$ 开始寻找,并且都没有空手离开。在所有 $N^M$ 个可能的起始序列中,请计算有多少个是公平的,结果对 $998\,244\,353$ 取模。
输入格式
输入在一行中包含两个整数 $N$ $M$($1 \leq M \leq N \leq 200\,000$),分别表示烤面包机的数量和人的数量。
输出格式
在一行中输出一个整数,表示公平起始序列的数量对 $998\,244\,353$ 取模的结果。
说明/提示
#### 样例输入/输出 #1 的解释
一个可能的公平起始序列是 $(4, 2, 2)$。首先,第 $1$ 个人从烤面包机 $4$ 开始寻找,并取走烤面包机 $4$ 中的面包。接着,第 $2$ 个人从烤面包机 $2$ 开始寻找,并取走烤面包机 $2$ 中的面包。最后,第 $3$ 个人将从烤面包机 $2$ 开始寻找,但此时烤面包机 $2$ 是空的。第 $3$ 个人移动到烤面包机 $3$,并取走烤面包机 $3$ 中的面包。由于每个人都得到了一片面包,因此起始序列 $(4, 2, 2)$ 是公平的。
其他公平起始序列的例子包括 $(1, 1, 1)$、$(1, 1, 2)$、$(2, 3, 4)$ 和 $(2, 2, 2)$。一些不公平的起始序列包括 $(3, 3, 3)$、$(3, 4, 3)$、$(4, 4, 1)$ 和 $(4, 4, 4)$。
#### 样例输入/输出 #2 的解释
所有起始序列都是公平的。
#### 样例输入/输出 #3 的解释
唯一**不公平**的起始序列是 $(2,2)$。第 $1$ 个人从烤面包机 $2$ 开始寻找,并取走烤面包机 $2$ 中的面包。接着,第 $2$ 个人从烤面包机 $2$ 开始寻找,但此时烤面包机 $2$ 是空的。由于烤面包机 $2$ 的右侧没有更多的烤面包机,第 $2$ 个人将空手离开。
翻译由 DeepSeek 完成