测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A15052. Round Table

编程题 普及/提高-

题目描述

Each test contains multiple test cases. The first line contains an integer $t$ ( $1\le t\le 10\,000$ ) — the number of test cases. The descriptions of the $t$ test cases follow.

The first line of each test case contains a single integer $n$ ( $3 \le n \le 200\,000$ ) — the number of people sitting at the table.

The second line contains $n$ distinct integers $p_1, p_2, \dots, p_n$ ( $1 \le p_i \le n$ , $p_i \ne p_j$ for $i \ne j$ ) — the desired final order of the people around the table.

The sum of the values of $n$ over all test cases does not exceed $200\,000$ .

输入格式

For each test case, print the minimum number of swaps necessary to achieve the desired order.

输出格式

In the first test case, we can swap person $4$ and person $1$ (who are adjacent) in the initial configuration and get the order $[4, 2, 3, 1]$ which is equivalent to the desired one. Hence in this case a single swap is sufficient.

输入输出样例

输入 #1
3
4
2 3 1 4
5
5 4 3 2 1
7
4 1 6 5 3 7 2
输出 #1
1
10
22

说明/提示

In the first test case, we can swap person $4$ and person $1$ (who are adjacent) in the initial configuration and get the order $[4, 2, 3, 1]$ which is equivalent to the desired one. Hence in this case a single swap is sufficient.
上一题 去做题 下一题