#C. Sheryang的最小翻转

    远端评测题 2000ms 256MiB

Sheryang的最小翻转

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给您两个长度为 nn 的排列 aabb 。排列是从 11nnnn 元素数组,其中所有元素都是不同的。例如,数组 [ 2,1,32,1,3 ] 是排列,但 [ 0,10,1 ] 和 [ 1,3,11,3,1 ] 不是。

您可以(根据需要多次)选择两个索引 iijj ,然后同时将 aia_iaja_j 交换,将 bib_ibjb_j 交换。

您讨厌反转,因此您希望最大限度地减少两种排列中反转的总数。

排列 pp 中的反转是一对索引 (i,j)(i, j) ,使得 i<ji < jpi>pjp_i > p_j 。例如,如果 p=[3,1,4,2,5]p=[3,1,4,2,5] ,则其中存在 33 个逆序对(索引对为 (1,2)(1,2)(1,4)(1,4)(3,4)(3,4) )。

输入描述

第一行包含一个整数 tt ( 1t200001 \leq t \leq 20\,000 ) - 测试用例的数量。

每个测试用例由三行组成。第一行包含一个整数 nn ( 1n21051 \leq n \leq 2\cdot10^5 ) - 排列 aabb 的长度。第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n ( 1ain1 \leq a_i \leq n ) - 排列 aa 。第三行包含类似格式的 bb

保证所有测试用例的 nn 之和不超过 21052\cdot10^5

输出描述

对于每个测试用例,输出两个排列 aa'bb' (与输入中的格式相同)——所有操作后的排列。 aa'bb' 中的反转总数应该是使用语句中的操作可以获得的所有排列对中可能的最小值。

如果有多个解决方案,请打印其中任何一个。

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

样例解释

在第一个测试用例,最小可能的反转次数为 1010

在第二个测试用例中,我们可以同时对两种排列进行排序。为此,可以进行以下操作:

  • 交换两个排列中位置 1133 的元素。运算后, a=a = [ 2,1,32,1,3 ], b=b = [ 2,1,32,1,3 ]。
  • 交换位置 1122 中的元素。运算完成后, aabb 已排序。

在第三个测试用例中,最小可能的反转次数为 77

2024 新春贺岁 思维模拟赛 div.2 补题场

未认领
状态
已结束
题目
5
开始时间
2024-2-7 0:00
截止时间
2024-2-21 23:59
可延期
24 小时