309739: CF1728C. Digital Logarithm
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Digital Logarithm
题意翻译
### 题目大意 我们定义 $f(x)$ 表示取出 $x$ 在**十进制**下的位数。( 如 $f(114514) = 6, \; f(998244353) = 9$ )。形式化讲,就是 $f(x) = \lfloor \log_{10} x \rfloor + 1$。 给定两个数组 $a$ 和 $b$,求执行若干次以下操作后使得 $a$ 和 $b$ **排序后**相等的最小操作次数。 操作方法如下: - 选择一个下标 $i$,将 $a_i$ 赋值为 $f(a_i)$ **或者**将 $b_i$ 赋值为 $f(b_i)$。 ### 输入格式 第一行一个整数 $T \; (1 \leqslant T \leqslant 10^4)$ 表示测试样例组数。 对于每组测试样例,第一行为一个整数 $n \; (1 \leqslant n \leqslant 2 \cdot 10^5)$ 表示数组长度。 接下来的两行分别有 $n$ 个整数,表示数组 $a$ 和 $b \; (1 \leqslant a_i,b_i < 10^9)$。 数据保证 $\sum n \leqslant 2 \cdot 10^5$ ### 输出格式 对于每组测试样例,输出包含一行一个整数,表示最小操作次数。 $Translated \; by \; Zigh$题目描述
Let's define $ f(x) $ for a positive integer $ x $ as the length of the base-10 representation of $ x $ without leading zeros. I like to call it a digital logarithm. Similar to a digital root, if you are familiar with that. You are given two arrays $ a $ and $ b $ , each containing $ n $ positive integers. In one operation, you do the following: 1. pick some integer $ i $ from $ 1 $ to $ n $ ; 2. assign either $ f(a_i) $ to $ a_i $ or $ f(b_i) $ to $ b_i $ . Two arrays are considered similar to each other if you can rearrange the elements in both of them, so that they are equal (e. g. $ a_i = b_i $ for all $ i $ from $ 1 $ to $ n $ ). What's the smallest number of operations required to make $ a $ and $ b $ similar to each other?输入输出格式
输入格式
The first line contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of testcases. The first line of the testcase contains a single integer $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the number of elements in each of the arrays. The second line contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i < 10^9 $ ). The third line contains $ n $ integers $ b_1, b_2, \dots, b_n $ ( $ 1 \le b_j < 10^9 $ ). The sum of $ n $ over all testcases doesn't exceed $ 2 \cdot 10^5 $ .
输出格式
For each testcase, print the smallest number of operations required to make $ a $ and $ b $ similar to each other.
输入输出样例
输入样例 #1
4
1
1
1000
4
1 2 3 4
3 1 4 2
3
2 9 3
1 100 9
10
75019 709259 5 611271314 9024533 81871864 9 3 6 4865
9503 2 371245467 6 7 37376159 8 364036498 52295554 169
输出样例 #1
2
0
2
18
说明
In the first testcase, you can apply the digital logarithm to $ b_1 $ twice. In the second testcase, the arrays are already similar to each other. In the third testcase, you can first apply the digital logarithm to $ a_1 $ , then to $ b_2 $ .Input
题意翻译
### 题目大意 我们定义 $f(x)$ 表示取出 $x$ 在**十进制**下的位数。( 如 $f(114514) = 6, \; f(998244353) = 9$ )。形式化讲,就是 $f(x) = \lfloor \log_{10} x \rfloor + 1$。 给定两个数组 $a$ 和 $b$,求执行若干次以下操作后使得 $a$ 和 $b$ **排序后**相等的最小操作次数。 操作方法如下: - 选择一个下标 $i$,将 $a_i$ 赋值为 $f(a_i)$ **或者**将 $b_i$ 赋值为 $f(b_i)$。 ### 输入格式 第一行一个整数 $T \; (1 \leqslant T \leqslant 10^4)$ 表示测试样例组数。 对于每组测试样例,第一行为一个整数 $n \; (1 \leqslant n \leqslant 2 \cdot 10^5)$ 表示数组长度。 接下来的两行分别有 $n$ 个整数,表示数组 $a$ 和 $b \; (1 \leqslant a_i,b_i < 10^9)$。 数据保证 $\sum n \leqslant 2 \cdot 10^5$ ### 输出格式 对于每组测试样例,输出包含一行一个整数,表示最小操作次数。 $Translated \; by \; Zigh$Output
**题目大意**
定义函数 $ f(x) $ 表示取十进制下数字 $ x $ 的位数(例如 $ f(114514) = 6, \; f(998244353) = 9 $)。形式上,$ f(x) = \lfloor \log_{10} x \rfloor + 1 $。
给定两个数组 $ a $ 和 $ b $,求执行最少的操作次数,使得 $ a $ 和 $ b $ 排序后相等。
操作方法如下:
- 选择一个下标 $ i $,将 $ a_i $ 赋值为 $ f(a_i) $ 或者将 $ b_i $ 赋值为 $ f(b_i) $。
**输入格式**
第一行一个整数 $ T \; (1 \leqslant T \leqslant 10^4) $ 表示测试样例组数。
对于每组测试样例,第一行为一个整数 $ n \; (1 \leqslant n \leqslant 2 \cdot 10^5) $ 表示数组长度。
接下来的两行分别有 $ n $ 个整数,表示数组 $ a $ 和 $ b \; (1 \leqslant a_i,b_i < 10^9) $。
数据保证 $\sum n \leqslant 2 \cdot 10^5$
**输出格式**
对于每组测试样例,输出一行一个整数,表示最小操作次数。
**题目描述**
定义函数 $ f(x) $ 对于正整数 $ x $ 为其在十进制下表示的长度,不包括前导零。这可以称为数字对数。如果你熟悉数字根,这与数字根类似。
给你两个数组 $ a $ 和 $ b $,每个数组包含 $ n $ 个正整数。在一次操作中,你可以做以下事情:
1. 从 1 到 $ n $ 中选取一个整数 $ i $;
2. 将 $ f(a_i) $ 赋值给 $ a_i $ 或者将 $ f(b_i) $ 赋值给 $ b_i $。
如果两个数组可以通过重新排列元素使得它们相等(例如 $ a_i = b_i $ 对于所有 $ i $ 从 1 到 $ n $),则认为这两个数组彼此相似。
问使 $ a $ 和 $ b $ 相似所需的最小操作数是多少?
**输入输出格式**
**输入格式**
第一行包含一个整数 $ t \; (1 \le t \le 10^4) $ — 测试用例的数量。
每个测试用例的第一行包含一个整数 $ n \; (1 \le n \le 2 \cdot 10^5) $ — 每个数组的元素数量。
第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n \; (1 \le a_i < 10^9) $。
第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n \; (1 \le b_j < 10^9) $。
所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。
**输出格式**
对于每个测试用例,输出使 $ a $ 和 $ b $ 相似所需的最小操作数。
**输入输出样例**
**输入样例 #1**
```
4
1
1 1000
4
1 2 3 4 3 1 4 2
3
2 9 3 1 100 9
10
75019 709259 5 611271314 9024533 81871864 9 3 6 4865 9503 2 371245467 6 7 37376159 8 364036498 52295554 169
```
**输出样例 #1**
```
2
0
2
18
```
**说明**
在第一个测试用例中,可以对 $ b_1 $ 应用数字对数两次。
在第二个测试用例中,数组已经彼此相似。
在第三个测试用例中,可以先对 $ a_1 $ 应用数字对数,然后对 $ b_2 $ 应用数字对数。**题目大意** 定义函数 $ f(x) $ 表示取十进制下数字 $ x $ 的位数(例如 $ f(114514) = 6, \; f(998244353) = 9 $)。形式上,$ f(x) = \lfloor \log_{10} x \rfloor + 1 $。 给定两个数组 $ a $ 和 $ b $,求执行最少的操作次数,使得 $ a $ 和 $ b $ 排序后相等。 操作方法如下: - 选择一个下标 $ i $,将 $ a_i $ 赋值为 $ f(a_i) $ 或者将 $ b_i $ 赋值为 $ f(b_i) $。 **输入格式** 第一行一个整数 $ T \; (1 \leqslant T \leqslant 10^4) $ 表示测试样例组数。 对于每组测试样例,第一行为一个整数 $ n \; (1 \leqslant n \leqslant 2 \cdot 10^5) $ 表示数组长度。 接下来的两行分别有 $ n $ 个整数,表示数组 $ a $ 和 $ b \; (1 \leqslant a_i,b_i < 10^9) $。 数据保证 $\sum n \leqslant 2 \cdot 10^5$ **输出格式** 对于每组测试样例,输出一行一个整数,表示最小操作次数。 **题目描述** 定义函数 $ f(x) $ 对于正整数 $ x $ 为其在十进制下表示的长度,不包括前导零。这可以称为数字对数。如果你熟悉数字根,这与数字根类似。 给你两个数组 $ a $ 和 $ b $,每个数组包含 $ n $ 个正整数。在一次操作中,你可以做以下事情: 1. 从 1 到 $ n $ 中选取一个整数 $ i $; 2. 将 $ f(a_i) $ 赋值给 $ a_i $ 或者将 $ f(b_i) $ 赋值给 $ b_i $。 如果两个数组可以通过重新排列元素使得它们相等(例如 $ a_i = b_i $ 对于所有 $ i $ 从 1 到 $ n $),则认为这两个数组彼此相似。 问使 $ a $ 和 $ b $ 相似所需的最小操作数是多少? **输入输出格式** **输入格式** 第一行包含一个整数 $ t \; (1 \le t \le 10^4) $ — 测试用例的数量。 每个测试用例的第一行包含一个整数 $ n \; (1 \le n \le 2 \cdot 10^5) $ — 每个数组的元素数量。 第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n \; (1 \le a_i < 10^9) $。 第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n \; (1 \le b_j < 10^9) $。 所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。 **输出格式** 对于每个测试用例,输出使 $ a $ 和 $ b $ 相似所需的最小操作数。 **输入输出样例** **输入样例 #1** ``` 4 1 1 1000 4 1 2 3 4 3 1 4 2 3 2 9 3 1 100 9 10 75019 709259 5 611271314 9024533 81871864 9 3 6 4865 9503 2 371245467 6 7 37376159 8 364036498 52295554 169 ``` **输出样例 #1** ``` 2 0 2 18 ``` **说明** 在第一个测试用例中,可以对 $ b_1 $ 应用数字对数两次。 在第二个测试用例中,数组已经彼此相似。 在第三个测试用例中,可以先对 $ a_1 $ 应用数字对数,然后对 $ b_2 $ 应用数字对数。
定义函数 $ f(x) $ 表示取十进制下数字 $ x $ 的位数(例如 $ f(114514) = 6, \; f(998244353) = 9 $)。形式上,$ f(x) = \lfloor \log_{10} x \rfloor + 1 $。
给定两个数组 $ a $ 和 $ b $,求执行最少的操作次数,使得 $ a $ 和 $ b $ 排序后相等。
操作方法如下:
- 选择一个下标 $ i $,将 $ a_i $ 赋值为 $ f(a_i) $ 或者将 $ b_i $ 赋值为 $ f(b_i) $。
**输入格式**
第一行一个整数 $ T \; (1 \leqslant T \leqslant 10^4) $ 表示测试样例组数。
对于每组测试样例,第一行为一个整数 $ n \; (1 \leqslant n \leqslant 2 \cdot 10^5) $ 表示数组长度。
接下来的两行分别有 $ n $ 个整数,表示数组 $ a $ 和 $ b \; (1 \leqslant a_i,b_i < 10^9) $。
数据保证 $\sum n \leqslant 2 \cdot 10^5$
**输出格式**
对于每组测试样例,输出一行一个整数,表示最小操作次数。
**题目描述**
定义函数 $ f(x) $ 对于正整数 $ x $ 为其在十进制下表示的长度,不包括前导零。这可以称为数字对数。如果你熟悉数字根,这与数字根类似。
给你两个数组 $ a $ 和 $ b $,每个数组包含 $ n $ 个正整数。在一次操作中,你可以做以下事情:
1. 从 1 到 $ n $ 中选取一个整数 $ i $;
2. 将 $ f(a_i) $ 赋值给 $ a_i $ 或者将 $ f(b_i) $ 赋值给 $ b_i $。
如果两个数组可以通过重新排列元素使得它们相等(例如 $ a_i = b_i $ 对于所有 $ i $ 从 1 到 $ n $),则认为这两个数组彼此相似。
问使 $ a $ 和 $ b $ 相似所需的最小操作数是多少?
**输入输出格式**
**输入格式**
第一行包含一个整数 $ t \; (1 \le t \le 10^4) $ — 测试用例的数量。
每个测试用例的第一行包含一个整数 $ n \; (1 \le n \le 2 \cdot 10^5) $ — 每个数组的元素数量。
第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n \; (1 \le a_i < 10^9) $。
第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n \; (1 \le b_j < 10^9) $。
所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。
**输出格式**
对于每个测试用例,输出使 $ a $ 和 $ b $ 相似所需的最小操作数。
**输入输出样例**
**输入样例 #1**
```
4
1
1 1000
4
1 2 3 4 3 1 4 2
3
2 9 3 1 100 9
10
75019 709259 5 611271314 9024533 81871864 9 3 6 4865 9503 2 371245467 6 7 37376159 8 364036498 52295554 169
```
**输出样例 #1**
```
2
0
2
18
```
**说明**
在第一个测试用例中,可以对 $ b_1 $ 应用数字对数两次。
在第二个测试用例中,数组已经彼此相似。
在第三个测试用例中,可以先对 $ a_1 $ 应用数字对数,然后对 $ b_2 $ 应用数字对数。**题目大意** 定义函数 $ f(x) $ 表示取十进制下数字 $ x $ 的位数(例如 $ f(114514) = 6, \; f(998244353) = 9 $)。形式上,$ f(x) = \lfloor \log_{10} x \rfloor + 1 $。 给定两个数组 $ a $ 和 $ b $,求执行最少的操作次数,使得 $ a $ 和 $ b $ 排序后相等。 操作方法如下: - 选择一个下标 $ i $,将 $ a_i $ 赋值为 $ f(a_i) $ 或者将 $ b_i $ 赋值为 $ f(b_i) $。 **输入格式** 第一行一个整数 $ T \; (1 \leqslant T \leqslant 10^4) $ 表示测试样例组数。 对于每组测试样例,第一行为一个整数 $ n \; (1 \leqslant n \leqslant 2 \cdot 10^5) $ 表示数组长度。 接下来的两行分别有 $ n $ 个整数,表示数组 $ a $ 和 $ b \; (1 \leqslant a_i,b_i < 10^9) $。 数据保证 $\sum n \leqslant 2 \cdot 10^5$ **输出格式** 对于每组测试样例,输出一行一个整数,表示最小操作次数。 **题目描述** 定义函数 $ f(x) $ 对于正整数 $ x $ 为其在十进制下表示的长度,不包括前导零。这可以称为数字对数。如果你熟悉数字根,这与数字根类似。 给你两个数组 $ a $ 和 $ b $,每个数组包含 $ n $ 个正整数。在一次操作中,你可以做以下事情: 1. 从 1 到 $ n $ 中选取一个整数 $ i $; 2. 将 $ f(a_i) $ 赋值给 $ a_i $ 或者将 $ f(b_i) $ 赋值给 $ b_i $。 如果两个数组可以通过重新排列元素使得它们相等(例如 $ a_i = b_i $ 对于所有 $ i $ 从 1 到 $ n $),则认为这两个数组彼此相似。 问使 $ a $ 和 $ b $ 相似所需的最小操作数是多少? **输入输出格式** **输入格式** 第一行包含一个整数 $ t \; (1 \le t \le 10^4) $ — 测试用例的数量。 每个测试用例的第一行包含一个整数 $ n \; (1 \le n \le 2 \cdot 10^5) $ — 每个数组的元素数量。 第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n \; (1 \le a_i < 10^9) $。 第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n \; (1 \le b_j < 10^9) $。 所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。 **输出格式** 对于每个测试用例,输出使 $ a $ 和 $ b $ 相似所需的最小操作数。 **输入输出样例** **输入样例 #1** ``` 4 1 1 1000 4 1 2 3 4 3 1 4 2 3 2 9 3 1 100 9 10 75019 709259 5 611271314 9024533 81871864 9 3 6 4865 9503 2 371245467 6 7 37376159 8 364036498 52295554 169 ``` **输出样例 #1** ``` 2 0 2 18 ``` **说明** 在第一个测试用例中,可以对 $ b_1 $ 应用数字对数两次。 在第二个测试用例中,数组已经彼此相似。 在第三个测试用例中,可以先对 $ a_1 $ 应用数字对数,然后对 $ b_2 $ 应用数字对数。