AT_arc154_e.[ARC154E] Reverse and Inversion

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于 $ (1,2,\dots,N) $ 的一个排列 $ Q=(Q_1,Q_2,\dots,Q_N) $,定义如下的值为 $ f(Q) $:

对于所有满足 $ 1\leq i < j \leq n$ 且 $ Q_i > Q_j $ 的整数对 $ (i,j) $,将所有 $ j-i $ 的和记为 $ f(Q) $。

给定 $ (1,2,\dots,N) $ 的一个排列 $ P=(P_1,P_2,\dots,P_N) $。

你需要重复以下操作 $ M $ 次:

  • 选择满足 $ 1\leq i\leq j\leq N $ 的一组整数 $ (i,j) $。将 $ P_i,P_{i+1},\dots,P_j $ 反转。更具体地说,将 $ P_i,P_{i+1},\dots,P_j $ 的值同时替换为 $ P_j,P_{j-1},\dots,P_i $。

操作的选择方式共有 $ \left(\frac{N(N+1)}{2}\right)^M $ 种。对于所有这些操作结束后的 $ f(P) $,你需要求它们的总和,并对 $ 998244353 $ 取模。

输入格式

输入以如下格式从标准输入给出。

$ N $ $ M $ $ P_1 $ $ P_2 $ $ \dots $ $ P_N $

输出格式

输出一行,表示答案。

输入输出样例

  • 输入#1

    2 1
    1 2

    输出#1

    1
  • 输入#2

    3 2
    3 2 1

    输出#2

    90
  • 输入#3

    10 2023
    5 8 1 9 3 10 4 7 2 6

    输出#3

    543960046

说明/提示

限制条件

  • $ 1\leq N,M\leq 2\times 10^5 $
  • $ (P_1,P_2,\dots,P_N) $ 是 $ (1,2,\dots,N) $ 的一个排列。

样例解释 1

所有可能的操作如下,共有 $ 3 $ 种:

  • 选择 $ (i,j)=(1,1) $。此时 $ P=(1,2) ,, f(P)=0 $。
  • 选择 $ (i,j)=(1,2) $。此时 $ P=(2,1) ,, f(P)=1 $。
  • 选择 $ (i,j)=(2,2) $。此时 $ P=(1,2) ,, f(P)=0 $。

因此,答案为 $ 0+1+0=1 $。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页