编程题
### 问题描述 小然在一次冒险中发现了一个古老的神秘宝箱,宝箱上有 $N$ 个密码锁,每个密码锁都隐藏着一个由 $N$ 个整数组成的密码数组。通过使用数字魔法,小然可以获取每个密码数组的最小排除元素(mex,即该数组中未出现的最小非负整数)。 在探索中,小然发现了一种新的魔法——界限魔法。其中,A 型魔法可以找到所有数组中某一整数的最小出现次数,而 B 型魔法则可以找到所有数组中某一整数的最大出现次数。为了更好地掌握这个魔法,小然决定尝试一下。所以,对于每个 $0 \leq i \leq N-1$,他想找出: 1. 在所有数组中,$i$ 的最少可能出现次数。 2. 在所有数组中,$i$ 的最多可能出现次数。 值得注意的是,这些值必须独立计算,即,小然可以选择不同的数组配置尝试最小化/最大化不同整数的出现次数。 ### 输入格式 输入的第一行包含一个整数 $T$ —— 测试用例的数量。然后是 $T$ 个测试用例。 每个测试用例的第一行包含一个整数 $N$ ——数组的大小。 每个测试用例的第二行包含 $N$ 个用空格分隔的整数 $A_1, A_2, ..., A_N$,表示 $N$ 个数组的 mex 值。 ### 输出格式 对于每个测试用例,输出 $N$ 行,每行包含两个用空格分隔的整数。第 $i$ 行应包含所有数组中 $i$ 的最少和最多可能出现的次数。 ### 样例输入 ```text 3 2 1 0 5 3 1 5 0 2 3 1 2 1 ``` ### 样例输出 ```text 1 2 0 2 4 13 3 13 2 13 1 13 1 15 3 8 1 2 0 4 ``` ### 说明 在第一个测试用例中: - 对于 $i=0$,两个数组可以是 $[0,3]$ 和 $[2,4]$,这样就有一个 $0$,或者是 $[0,0]$ 和 $[3,1]$,这样就有两个 $0$。 - 对于 $i=1$,$[0,4]$ 和 $[3,4]$ 不包含任何 $1$,而 $[0,9]$ 和 $[1,1]$ 包含两个 $1$。 ### 评测数据范围 $1 \leq T \leq 10^3$。 $1 \leq N \leq 10^5$。 $0 \leq A_i \leq N$。
查看答案
赣ICP备20007335号-2