题目描述
给定一个长度为 n 的排列 p1,p2,…,pn。
你需要按照如下方式构造一个数组 a1,a2,…,an:
- 对于每个 1≤i≤n,选择将 ai 设为 pi,或者设为 2n−pi。
请找出数组 a1,a2,…,an 中可能出现的最少逆序对数量。
长度为 n 的排列是指由 n 个不同的整数组成,且这些整数均在 1 到 n 之间的数组。数组 a 中的逆序对是指满足 1≤i<j≤n 且 ai>aj 的索引对 (i,j)。
输入格式
第一行输入一个整数 t,表示测试用例的数量。
接下来每个测试用例包含两行:
- 第一行输入一个整数 n。
- 第二行输入 n 个整数 p1,p2,…,pn,保证是一个排列。
保证所有测试用例的 n 之和不超过 5000。
输出格式
对于每个测试用例,输出一行一个整数,表示数组 a 中可能出现的最少逆序对数量。
样例
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
0
1
0
2
2
样例解释
- 第一个测试用例:唯一的最优数组 a 是 [2,3],逆序对数量为 0。
- 第二个测试用例:一个最优数组 a 是 [2,5,3],逆序对数量为 1;另一个可能的最优数组是 [2,1,3]。
数据范围与提示
- 1≤t≤1000
- 2≤n≤5000
- 1≤pi≤n,p 是排列。
- 保证所有测试用例的 n 之和不超过 5000。