AT_1_stpc2025_1_b.Increasing Swaps
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个 $ (1, 2, \dots, N) $ 的排列 $ P = (P_1, P_2, \dots, P_N) $。
对于长度为 $ N-1 $ 的正整数序列 $ T = (T_1, T_2, \dots, T_{N-1}) $,定义 $ f(T) $ 如下:
你可以对 $ P $ 进行任意次(也可以为 $ 0 $ 次)如下操作。在第 $ t $ 次操作中,执行以下流程:
- 设 $ I $ 为满足 $ T_i \le t $ 的所有 $ i $(按升序排列)组成的序列。依次对于 $ j = 1, 2, \dots, |I| $,交换 $ P_{I_j} $ 与 $ P_{I_j+1} $(注意 $ P_{I_j+1} $ 并不是 $ P_{I_{j+1}} $)。
输出使 $ P $ 升序排序所需的最少操作次数。若无法将 $ P $ 排序,则输出 $ {10}^{100} $。
请你求出所有正整数序列 $ T $ 中 $ f(T) $ 的最小值。可以证明,在本题约束下,存在满足 $ f(T) < {10}^{100} $ 的 $ T $。
输入格式
输入格式如下:
$ N $ $ P_1 $ $ P_2 $ ⋯ $ P_N $
输出格式
输出答案。
输入输出样例
输入#1
4 4 2 1 3
输出#1
2
输入#2
20 15 13 7 3 4 8 16 12 2 5 1 17 11 18 9 19 20 10 6 14
输出#2
39
说明/提示
部分分
- 对于满足额外条件 $ N \le 400 $ 的数据集,答对可得 $ 30 $ 分。
样例解释 1
当取 $ T=(2,1,2) $ 时,第 $ 1 $ 次操作后 $ P=(4,1,2,3) $,第 $ 2 $ 次操作后 $ P=(1,2,3,4) $,因此 $ f(T) = 2 $。不存在使 $ f(T) < 2 $ 的 $ T $,因此答案为 $ 2 $。
数据范围
- 输入均为整数。
- $ 2 \le N \le 5000 $
- $ 1 \le P_i \le N $
- $ P_i \ne P_j ( i \ne j $)
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?