AT_arc151_b [ARC151B] A < AP
题目描述
给定一个 $ (1,\ 2,\ \ldots,\ N) $ 的排列 $ P = (P_1,\ P_2,\ \ldots,\ P_N) $。
请输出满足以下两个条件的长度为 $ N $ 的整数列 $ A = (A_1,\ A_2,\ \ldots,\ A_N) $ 的个数,对 $ 998244353 $ 取模。
- 对于所有 $ i = 1, 2, \ldots, N $,都有 $ 1 \leq A_i \leq M $。
- 整数列 $ A $ 的字典序严格小于整数列 $ (A_{P_1},\ A_{P_2},\ \ldots,\ A_{P_N}) $。
什么是字典序严格小于?对于整数列 $ X = (X_1,\ X_2,\ \ldots,\ X_N) $ 和 $ Y = (Y_1,\ Y_2,\ \ldots,\ Y_N) $,如果存在整数 $ 1 \leq i \leq N $,使得以下两个条件都成立,则称 $ X $ 的字典序严格小于 $ Y $:
- 对于所有 $ 1 \leq j \leq i-1 $,都有 $ X_j = Y_j $。
- $ X_i < Y_i $。
输入格式
输入以如下格式从标准输入读入。
> $ N $ $ M $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
输出格式
输出满足题目中两个条件的整数列 $ A $ 的个数,对 $ 998244353 $ 取模。
说明/提示
### 数据范围
- $ 1 \leq N \leq 2 \times 10^5 $
- $ 1 \leq M \leq 10^9 $
- $ 1 \leq P_i \leq N $
- $ i \neq j \implies P_i \neq P_j $
- 输入均为整数
### 样例解释 1
满足题目中两个条件的整数列 $ A $ 有 $ (1,\ 1,\ 1,\ 2),\ (1,\ 1,\ 2,\ 2),\ (1,\ 2,\ 1,\ 2),\ (1,\ 2,\ 2,\ 2),\ (2,\ 1,\ 1,\ 2),\ (2,\ 1,\ 2,\ 2) $ 共 $ 6 $ 个。例如,当 $ A = (1,\ 1,\ 1,\ 2) $ 时,$ (A_{P_1},\ A_{P_2},\ A_{P_3},\ A_{P_4}) = (2,\ 1,\ 1,\ 1) $,它的字典序大于 $ A $。
由 ChatGPT 4.1 翻译