该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
现有一个 3 行 n 列的二维非负整数数组,其中:
-
数组元素的取值范围为 1 到 n,且每个整数从 1 到 n 在数组中恰好出现三次。
-
定义「胆小数组 B」:对于每个索引 i(0≤i≤n),Bi 是该二维数组第 i 列 3 个元素中的最小值。
定义「胆小值」为:
-
从 B 数组中选择元素构成最长合格排列,其长度为 k。
-
计算该最长合格排列的胆小值,包含两部分:
- 对于每个 x(1≤x≤k),从 B 所有等于 x 的元素中,选择元素 Bi 对应的二维数组所在列的另外两个元素之和减去 Bi 的最小值 minx,将这些最小值累加;
- 对于每个 x(1≤x≤k),累加二维数组中所有值等于 x 的元素所在「行数」的总和 rx(行数定义:第 1 行对应 1,第 2 行对应 2,第 3 行对应 3)。
两部分之和即为该数组的「胆小值」。即:
$$胆小值 =\sum_{x=1}^{k} min_x + \sum_{x=r}^{k} r_x$$
现在给定数组,请你计算胆小值。
【排列】长度为 n 的排列是由 1∼n 这 n 个整数、按任意顺序组成的数组,其中每个整数恰好出现一次。例如,{2,3,1,5,4} 是一个长度为 5 的排列,而 {1,2,2} 和 {1,3,4} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。
第一行包含一个整数 t(1≤t≤10),表示测试样例中二维数组的组数。
每组的第一行包含一个整数 n(1≤n≤3000),表示数组的列数。
接下来3行,每行包含 n 个整数。
ps:样例保证二维数组元素的取值范围为 1 到 n,且每个整数从 1 到 n 在二维数组中恰好出现三次。
Output
每组每行输出一个整数,表示该数组的「胆小值」。
Samples
2
4
1 2 3 4
4 4 3 3
2 2 1 1
1
1
1
1
23
7
Note
根据所给的二维数组可以得出其胆小数组 B={1,2,1,1}
所以可以从 B 中选择元素组成的最长合格排列为 1,2, 所以 k=2.
开始计算胆小值:
- 当 x=1 时,minx=5,rx=7 ;
- 当 x=2 时,minx=4,rx=7 ;
胆小值 =min1+r1+min2+r2=23