CF2161H.Cycle Sort

NOI/NOI+/CTSC

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given two integer arrays a0,…,an−1a_0, \ldots, a_{n - 1} and b0,…,bm−1b_0, \ldots, b_{m - 1}. Each integer among 1,…,n+m1, \ldots, n + m is present exactly once among a0,…,an−1,b0,…,bm−1a_0, \ldots, a_{n - 1}, b_0, \ldots, b_{m - 1}.

We perform kk operations on the arrays. Namely, for each integer ii from 00 to k−1k - 1 in this order

  • if ai mod n>bi mod ma_{i \bmod n} \gt b_{i \bmod m}, we swap ai mod na_{i \bmod n} and bi mod mb_{i \bmod m}
  • otherwise, we do nothing

Determine the final state of both arrays after all kk operations are completed.

给你两个整数数组 a0,…,an−1a_0, \ldots, a_{n - 1} 和 b0,…,bm−1b_0, \ldots, b_{m - 1}。在 a0,…,an−1,b0,…,bm−1a_0, \ldots, a_{n - 1}, b_0, \ldots, b_{m - 1} 中,1,…,n+m1, \ldots, n + m 中的每个整数恰好出现一次。

我们对这两个数组执行 kk 次操作。具体来说,按顺序对每个从 00 到 k−1k - 1 的整数 ii 执行以下操作:

  • 若 ai mod n>bi mod ma_{i \bmod n} \gt b_{i \bmod m},则交换 ai mod na_{i \bmod n} 与 bi mod mb_{i \bmod m};
  • 否则,不进行任何操作。

请确定在完成全部 kk 次操作后,两个数组的最终状态。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1041 \le t \le 10^4). The description of the test cases follows.

The first line of each test case contains three integers n,m,kn, m, k (1≤n,m≤2⋅1051 \leq n, m \leq 2 \cdot 10^5, 0≤k≤10180 \leq k \leq 10^{18}).

The second line contains nn integers a0,…,an−1a_0, \ldots, a_{n - 1}.

The third line contains mm integers b0,…,bm−1b_0, \ldots, b_{m - 1}.

It is guaranteed that the joint sequence a0,…,an−1,b0,…,bm−1a_0, \ldots, a_{n - 1}, b_0, \ldots, b_{m - 1} is a permutation of integers from 11 to n+mn + m.

The sum of n+mn + m over all testcases doesn't exceed 2⋅1052 \cdot 10^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。随后是各测试用例的描述。

每个测试用例的第一行包含三个整数 n,m,kn, m, k(1≤n,m≤2⋅1051 \leq n, m \leq 2 \cdot 10^5,0≤k≤10180 \leq k \leq 10^{18})。

第二行包含 nn 个整数 a0,…,an−1a_0, \ldots, a_{n - 1}。

第三行包含 mm 个整数 b0,…,bm−1b_0, \ldots, b_{m - 1}。

保证联合序列 a0,…,an−1,b0,…,bm−1a_0, \ldots, a_{n - 1}, b_0, \ldots, b_{m - 1} 是 11 到 n+mn + m 的一个排列。

所有测试用例中 n+mn + m 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

For each testcase, print two lines — the states of the arrays a0,…,an−1a_0, \ldots, a_{n - 1} and b0,…,bm−1b_0, \ldots, b_{m - 1} after the kk operations are performed as described above.

对于每个测试用例,输出两行——分别表示执行上述 kk 次操作后数组 a0,…,an−1a_0, \ldots, a_{n - 1} 和 b0,…,bm−1b_0, \ldots, b_{m - 1} 的状态。

输入输出样例

  • 输入#1

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

    输出#1

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

说明/提示

The action sequence for the first example

ii

i mod ni \bmod n

i mod mi \bmod m

comparison

action

array aa

array bb

0

0

0

3>13 \gt 1

swap a0a_0 and b0b_0

[1, 4]

[3, 5, 2]

1

1

1

4<54 \lt 5

nothing

[1, 4]

[3, 5, 2]

2

0

2

1<21 \lt 2

nothing

[1, 4]

[3, 5, 2]

3

1

0

4>34 \gt 3

swap a1a_1 and b0b_0

[1, 3]

[4, 5, 2]

4

0

1

1<51 \lt 5

nothing

[1, 3]

[4, 5, 2]

第一个示例的动作序列

ii

i mod ni \bmod n

i mod mi \bmod m

比较

动作

数组 aa

数组 bb

0

0

0

3>13 \gt 1

交换 a0a_0 和 b0b_0

[1, 4]

[3, 5, 2]

1

1

1

4<54 \lt 5

无操作

[1, 4]

[3, 5, 2]

2

0

2

1<21 \lt 2

无操作

[1, 4]

[3, 5, 2]

3

1

0

4>34 \gt 3

交换 a1a_1 和 b0b_0

[1, 3]

[4, 5, 2]

4

0

1

1<51 \lt 5

无操作

[1, 3]

[4, 5, 2]

输入解题思路,AI测评打分。不知道怎么写?

首页