CF1728C.Digital Logarithm

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Let's define f(x)f(x) for a positive integer xx as the length of the base-10 representation of xx 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 aa and bb, each containing nn positive integers. In one operation, you do the following:

  1. pick some integer ii from 11 to nn;
  2. assign either f(ai)f(a_i) to aia_i or f(bi)f(b_i) to bib_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. ai=bia_i = b_i for all ii from 11 to nn).

What's the smallest number of operations required to make aa and bb similar to each other?

我们定义正整数 xx 的函数 f(x)f(x) 为 xx 在十进制下(不含前导零)的位数长度。我习惯称其为“数字对数”(digital logarithm)。它与你可能熟悉的“数字根”(digital root)类似。

给你两个数组 aa 和 bb,每个数组均包含 nn 个正整数。一次操作定义如下:

  1. 从 11 到 nn 中任选一个整数 ii;
  2. 将 f(ai)f(a_i) 赋值给 aia_i,或将 f(bi)f(b_i) 赋值给 bib_i(二者选其一)。

若存在一种方式,使得对两个数组各自进行重排后,它们完全相等(即:重排后满足对所有 i∈[1,n]i \in [1, n] 均有 ai=bia_i = b_i),则称这两个数组彼此“相似”(similar)。

问:使 aa 和 bb 相似所需的最小操作次数是多少?

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of testcases.

The first line of the testcase contains a single integer nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5) — the number of elements in each of the arrays.

The second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai<1091 \le a_i \lt 10^9).

The third line contains nn integers b1,b2,…,bnb_1, b_2, \dots, b_n (1≤bj<1091 \le b_j \lt 10^9).

The sum of nn over all testcases doesn't exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)—— 每个数组中元素的个数。

测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai<1091 \le a_i \lt 10^9)。

测试用例的第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(1≤bj<1091 \le b_j \lt 10^9)。

所有测试用例的 nn 值之和不超过 2⋅1052 \cdot 10^5。

输出格式

For each testcase, print the smallest number of operations required to make aa and bb similar to each other.

对于每个测试用例,输出使 aa 和 bb 彼此相似所需的最少操作次数。

输入输出样例

  • 输入#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 b1b_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 a1a_1, then to b2b_2.

在第一个测试用例中,你可以对 b1b_1 两次应用数字对数运算。

在第二个测试用例中,两个数组已经彼此相似。

在第三个测试用例中,你可以先对 a1a_1 应用数字对数运算,再对 b2b_2 应用数字对数运算。

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

首页