AT_agc003_c.[AGC003C] BBuBBBlesort!

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

高桥君在生日时收到了一个长度为 NN 的数列。第 ii 个元素是整数 AiA_i。任意两个元素都互不相同。高桥君想要将这个数列重新排列成单调递增的顺序。

高桥君拥有超能力,可以在任意时刻进行以下两种操作:

  • 操作 11:选择数列中连续的两个元素,交换它们的顺序。
  • 操作 22:选择数列中连续的三个元素,反转这三个元素的顺序。

高桥君喜欢操作 22,但不喜欢操作 11。请你求出,在使用这两种操作将数列变为单调递增时,操作 11 的最小次数。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出操作 11 的最小次数。

输入输出样例

  • 输入#1

    4
    2
    4
    3
    1

    输出#1

    1
  • 输入#2

    5
    10
    8
    5
    3
    2

    输出#2

    0

说明/提示

限制条件

  • 1≤N≤1051 \leq N \leq 10^5
  • 0≤Ai≤1090 \leq A_i \leq 10^9
  • 如果 i≠ji \neq j,则 Ai≠AjA_i \neq A_j
  • 所有输入均为整数。

样例解释 1

可以通过如下操作将数列变为单调递增:

  • 首先,将最后三个元素反转,数列变为 2,1,3,42,1,3,4。
  • 然后,将前两个元素交换,数列变为 1,2,3,41,2,3,4。

在这个操作序列中,连续两个元素交换的操作次数为 11。无法通过更少的操作 11 次数得到单调递增的数列,因此输出 11。

由 ChatGPT 4.1 翻译

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

首页