AT_utpc2020_e.Sort Segments
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Enjapma くん有一个 $ (1,\ 2,\ \ldots,\ N) $ 的排列 $ P = (P_1,\ P_2,\ \ldots,\ P_N) $。
Enjapma くん将恰好进行 $ 1 $ 次如下操作:
- 选择一个整数 $ k ( k \geq 0 $),以及满足 $ 1 \leq l_1 < r_1 < l_2 < r_2 < \cdots < l_k < r_k \leq N $ 的整数序列 $ (l_1, r_1, l_2, r_2, \ldots, l_k, r_k) $,然后对于每个 $ i ( 1 \leq i \leq k $),将 $ P_{l_i}, P_{l_i+1}, \ldots, P_{r_i} $ 按升序排列。
请你求出,经过一次操作后,可能得到的不同排列的个数,答案对 $ 998244353 $ 取模。
输入格式
输入为如下格式:
$ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
输出格式
输出一个整数,表示答案。
输入输出样例
输入#1
4 3 2 4 1
输出#1
6
输入#2
12 4 1 9 5 3 8 7 10 6 2 12 11
输出#2
300
说明/提示
限制
- 输入均为整数。
- $ 1 \leq N \leq 2 \times 10^5 $
- $ 1 \leq P_i \leq N $
- $ P_1, P_2, \ldots, P_N $ 互不相同。
部分分
- 若能正确解决 $ 1 \leq N \leq 3000 $ 的数据,将获得 $ 50 $ 分。
样例说明 1
- 取 $ k = 0 $ 时,$ P = (3, 2, 4, 1) $。
- 取 $ k = 1 $,选择 $ (l_1, r_1) = (1, 2) , P = (2, 3, 4, 1) $。
- 取 $ k = 1 $,选择 $ (l_1, r_1) = (1, 4) , P = (1, 2, 3, 4) $。
- 取 $ k = 1 $,选择 $ (l_1, r_1) = (2, 4) , P = (3, 1, 2, 4) $。
- 取 $ k = 1 $,选择 $ (l_1, r_1) = (3, 4) , P = (3, 2, 1, 4) $。
- 取 $ k = 2 $,选择 $ (l_1, r_1, l_2, r_2) = (1, 2, 3, 4) , P = (2, 3, 1, 4) $。
除此之外,其他操作方式得到的结果都与上述 $ 6 $ 种情况重复。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?