编程题
### 问题描述 聪明的小蓝最近刚刚学习了康拓展开,对于任意一个排列他都会求其排名了。 小蓝昨天去商场抽奖,成功地抽到了参与奖——一个排列,但小蓝却饶有兴趣,对这个排列产生了不少疑问: 如果交换相邻的两个数字,该排列的排名会变成什么样子呢? 正式地: 给定一个正整数 $n$ 和一个长度为 $n$ 的排列 $p$。 对于 $i$ 等于 $1 ,2,3 \dots n - 1$,输出一个整数,表示若交换 $p_i, p_{i + 1}$ 后,该排列的排名,对 `998244353` 取模。 ### 输入格式 输入第一行,包含一个整数 $n$。 输入第二行,包含 $n$ 个正整数,表示排列 $p$。 ### 输出格式 输出仅一行,包含 $n - 1$ 个整数,表示答案。 ### 样例输入 ```text 4 2 3 4 1 ``` ### 样例输出 ```text 16 12 9 ``` ### 说明 在样例中: 若交换 $p_1, p_2$ 得到 `[3 2 4 1]`,其排名为 $16$。 若交换 $p_2, p_3$ 得到 `[2 4 3 1]`,其排名为 $12$。 若交换 $p_3, p_4$ 得到 `[2 3 1 4]`,其排名为 $9$。 ### 评测数据规模 对于 $100$% 的评测数据:$2\leq n \le 2 \times 10^5, 1\le p_i\le n$。
查看答案
赣ICP备20007335号-2