CF2129B.Stay or Mirror

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的排列 p1,p2,…,pnp_1, p_2, \ldots, p_n。

你需要按照如下方式构造一个数组 a1,a2,…,ana_1, a_2, \ldots, a_n:

  • 对于每个 1≤i≤n1 \leq i \leq n,可以选择 ai=pia_i = p_i 或 ai=2n−pia_i = 2n - p_i。

请你求出数组 a1,a2,…,ana_1, a_2, \ldots, a_n 中最小可能的逆序对数量。

一个长度为 nn 的排列是由 nn 个 11 到 nn 的不同整数按任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(22 在数组中出现了两次),[1,3,4][1,3,4] 也不是排列(n=3n=3,但数组中出现了 44)。

在数组 a1,a2,…,ana_1, a_2, \ldots, a_n 中,逆序对指的是一对下标 (i,j)(i, j),满足 1≤i<j≤n1 \leq i < j \leq n 且 ai>aja_i > a_j。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 tt(1≤t≤1031 \le t \le 10^3),表示测试数据组数。

每组测试数据的第一行包含一个整数 nn(2≤n≤5⋅1032 \le n \le 5 \cdot 10^3)。

每组测试数据的第二行包含 nn 个整数 p1,p2,…,pnp_1, p_2, \ldots, p_n(1≤pi≤n1 \le p_i \le n)。保证 p1,p2,…,pnp_1, p_2, \ldots, p_n 是一个排列。

保证所有测试数据中 nn 的总和不超过 5⋅1035 \cdot 10^3。

输出格式

对于每组测试数据,输出一个整数,表示数组 aa 的最小逆序对数量。

输入输出样例

  • 输入#1

    5
    2
    2 1
    3
    2 1 3
    4
    4 3 2 1
    5
    2 3 1 5 4
    6
    2 3 4 1 5 6

    输出#1

    0
    1
    0
    2
    2

说明/提示

在第一个测试用例中,唯一最优的数组 aa 是 [2,3][2, 3],逆序对数量为 00。

在第二个测试用例中,一个最优的数组 aa 是 [2,5,3][2, 5, 3],逆序对数量为 11。另一个可能的最优数组 aa 是 [2,1,3][2, 1, 3]。

由 ChatGPT 4.1 翻译

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

首页