#9873. 最小逆序对

    ID: 9873 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>线段树树状数组逆序对循环移位递推排列

最小逆序对

题目描述

给定一个数字序列 a1,a2,,ana_1,a_2,\cdots,a_n 的逆序对是满足 i<ji<jai>aja_i>a_j 的对数。

对于给定的数字序列 a1,a2,,ana_1,a_2,\cdots,a_n ,如果我们将前 mm 个数字移动到序列的末尾(m0m \ge 0),我们将得到另一个序列。共有 nn 种这样的序列,如下所示:

a1,a2,,an1,ana_1,a_2,\cdots,a_{n-1},a_n(其中 m=0m=0 为初始序列) a2,a3,,an,a1a_2,a_3,\cdots,a_{n},a_1(其中 m=1m=1a3,a4,,a1,a2a_3,a_4,\cdots,a_{1},a_2(其中 m=2m=2\cdots an,a1,,an2,an1a_n,a_1,\cdots,a_{n-2},a_{n-1}(其中 m=n1m=n-1

请编写一个程序,找出上述序列中逆序对数量最小的那个。

输入格式

每个用例包括两行:第一行包含一个正整数 nn

接下来一行包含从 00n1n-1nn 个整数的排列。

输出格式

对于每个用例,输出一个单独的行,包含逆序数最小的值。

10
2 1 3 6 9 0 8 5 7 4 
16

样例分析

数列 {1,3,6,9,0,8,5,7,4,2}\{1,3,6,9,0,8,5,7,4,2\} 的逆序对数量是 2222

数列 {3,6,9,0,8,5,7,4,2,1}\{3,6,9,0,8,5,7,4,2,1\} 的逆序对数量是 2929

数列 {6,9,0,8,5,7,4,2,1,3}\{6,9,0,8,5,7,4,2,1,3\} 的逆序对数量是 3232

数列 {9,0,8,5,7,4,2,1,3,6}\{9,0,8,5,7,4,2,1,3,6\} 的逆序对数量是 2020

数列 {0,8,5,7,4,2,1,3,6,9}\{0,8,5,7,4,2,1,3,6,9\} 的逆序对数量是 2020

数列 {8,5,7,4,2,1,3,6,9,0}\{8,5,7,4,2,1,3,6,9,0\} 的逆序对数量是 2929

数列 {5,7,4,2,1,3,6,9,0,8}\{5,7,4,2,1,3,6,9,0,8\} 的逆序对数量是 2222

数列 {7,4,2,1,3,6,9,0,8,5}\{7,4,2,1,3,6,9,0,8,5\} 的逆序对数量是 2121

数列 {4,2,1,3,6,9,0,8,5,7}\{4,2,1,3,6,9,0,8,5,7\} 的逆序对数量是 1616

数列 {2,1,3,6,9,0,8,5,7,4}\{2,1,3,6,9,0,8,5,7,4\} 的逆序对数量是 1717

数据范围与提示

对于 100%100\% 数据:1n5×1031 \le n \leq 5 \times 10^3