#R22. Switch Seats

Switch Seats

当前没有测试数据。

题目描述

NN 组数字对(称为“情侣对”)排成一列。
请统计满足以下所有条件的 两对不同的情侣对 (a,b)(a, b) 的组数:

  1. 在原序列中,aa 的两个出现位置不邻接。
  2. 在原序列中,bb 的两个出现位置不邻接。
  3. 通过执行以下操作(次数不限),可以使 aa 的两个出现位置邻接,同时 bb 的两个出现位置也邻接:
    • 选择两个位置 (i,j)(i, j) 满足 Ai=aA_i = aAj=bA_j = b,并交换这两个位置的值。

给定一个长度为 2N2N 的序列 A=(A1,A2,,A2N)A = (A_1, A_2, \dots, A_{2N}),其中每个 1,2,,N1, 2, \dots, N 恰好出现两次。
对于 TT 个测试用例,分别输出答案。

输入格式

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

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
\vdots
caseT\mathrm{case}_T

每个测试用例的格式为:

NN A1A_1 A2A_2 \dots A2NA_{2N}

输出格式

输出 TT 行,每行对应一个测试用例的答案。

输入输出样例 #1

输入 #1

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

输出 #1

1
0
4

说明/提示

约束条件

  • 1T2×1051 \leq T \leq 2 \times 10^5
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1AiN1 \leq A_i \leq N
  • 每个 1,2,,N1, 2, \dots, NAA 中恰好出现两次
  • 所有测试用例的 NN 总和不超过 2×1052 \times 10^5
  • 输入值均为整数

样例解释 1

考虑第一个测试用例 (a,b)=(1,2)(a, b) = (1, 2)

  • 原序列中 11 的两个出现位置不邻接。
  • 原序列中 22 的两个出现位置不邻接。
  • 选择 (i,j)=(1,6)(i, j) = (1, 6) 交换 A1A_1A6A_6 后,11 的两个位置邻接,22 的两个位置也邻接。
    因此满足条件的二元组 (a,b)(a, b) 仅有 (1,2)(1, 2) 这一组。