309703: CF1721D. Maximum AND
Memory Limit:256 MB
Time Limit:3 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Maximum AND
题意翻译
## 题目描述 给出两个长度为 $n$ 的数组 $a,b$ ,规定 $f(a,b)$ 表示以下操作: 1. 创建一个长度为 $n$ 的 $c$ 数组,满足 $c_i=a_i \oplus b_i$ (此处的 $\oplus$ 表示[按位异或](https://baike.baidu.com/item/%E5%BC%82%E6%88%96/10993677?fr=aladdin))。 2. 则 $f(a, b) = c_1\space\& c_2\space\& \cdots \& c_n$。 你可以将 $b$ 数组进行任意的排列(包括保留原始情况),试求出最大的 $f(a,b)$ 。 ## 输入格式 第一行一个 $t\ (1\le t \le 10^4)$ ,表示数据组数。 对于每组数据: 第一行一个 $n\ (1 \le n \le 10^5)$ ,表示 $a,b$ 数组的长度。 第二行 $n$ 个自然数 $a_1,a_2......a_n(1 \le a_i \lt 2^{30})$ 第三行 $n$ 个自然数 $b_1,b_2......b_n(1 \le b_i \lt 2^{30})$ 数据保证单个数据测试点内,所有 $n$ 之和不超过 $10^5$. ## 输出格式 对于每一个测试点,一行一个正整数表示 $f(a,b)$ 的最大值。题目描述
You are given two arrays $ a $ and $ b $ , consisting of $ n $ integers each. Let's define a function $ f(a, b) $ as follows: - let's define an array $ c $ of size $ n $ , where $ c_i = a_i \oplus b_i $ ( $ \oplus $ denotes bitwise XOR); - the value of the function is $ c_1 \mathbin{\&} c_2 \mathbin{\&} \cdots \mathbin{\&} c_n $ (i.e. bitwise AND of the entire array $ c $ ). Find the maximum value of the function $ f(a, b) $ if you can reorder the array $ b $ in an arbitrary way (leaving the initial order is also an option).输入输出格式
输入格式
The first line contains one integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases. The first line of each test case contains one integer $ n $ ( $ 1 \le n \le 10^5 $ ) — the size of arrays $ a $ and $ b $ . The second line contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 0 \le a_i < 2^{30} $ ). The third line contains $ n $ integers $ b_1, b_2, \dots, b_n $ ( $ 0 \le b_i < 2^{30} $ ). The sum of $ n $ over all test cases does not exceed $ 10^5 $ .
输出格式
For each test case print one integer — the maximum value of the function $ f(a, b) $ if you can reorder the array $ b $ in an arbitrary way.
输入输出样例
输入样例 #1
3
5
1 0 0 3 3
2 3 2 1 0
3
1 1 1
0 0 3
8
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0
输出样例 #1
2
0
7
Input
题意翻译
## 题目描述 给出两个长度为 $n$ 的数组 $a,b$ ,规定 $f(a,b)$ 表示以下操作: 1. 创建一个长度为 $n$ 的 $c$ 数组,满足 $c_i=a_i \oplus b_i$ (此处的 $\oplus$ 表示[按位异或](https://baike.baidu.com/item/%E5%BC%82%E6%88%96/10993677?fr=aladdin))。 2. 则 $f(a, b) = c_1\space\& c_2\space\& \cdots \& c_n$。 你可以将 $b$ 数组进行任意的排列(包括保留原始情况),试求出最大的 $f(a,b)$ 。 ## 输入格式 第一行一个 $t\ (1\le t \le 10^4)$ ,表示数据组数。 对于每组数据: 第一行一个 $n\ (1 \le n \le 10^5)$ ,表示 $a,b$ 数组的长度。 第二行 $n$ 个自然数 $a_1,a_2......a_n(1 \le a_i \lt 2^{30})$ 第三行 $n$ 个自然数 $b_1,b_2......b_n(1 \le b_i \lt 2^{30})$ 数据保证单个数据测试点内,所有 $n$ 之和不超过 $10^5$. ## 输出格式 对于每一个测试点,一行一个正整数表示 $f(a,b)$ 的最大值。Output
**题目大意:**
题目定义了一个函数 $ f(a, b) $,其中 $ a $ 和 $ b $ 是两个长度为 $ n $ 的数组。函数的操作如下:
1. 创建一个长度为 $ n $ 的数组 $ c $,满足 $ c_i = a_i \oplus b_i $ (这里的 $ \oplus $ 表示按位异或)。
2. 则 $ f(a, b) = c_1 \& c_2 \& \cdots \& c_n $。
你可以对数组 $ b $ 进行任意的排列(包括保留原始情况),目标是求出最大的 $ f(a,b) $。
**输入数据格式:**
第一行一个整数 $ t $($ 1 \le t \le 10^4 $),表示数据组数。
对于每组数据:
- 第一行一个整数 $ n $($ 1 \le n \le 10^5 $),表示 $ a,b $ 数组的长度。
- 第二行 $ n $ 个自然数 $ a_1, a_2, \ldots, a_n $($ 1 \le a_i < 2^{30} $)。
- 第三行 $ n $ 个自然数 $ b_1, b_2, \ldots, b_n $($ 1 \le b_i < 2^{30} $)。
保证所有测试点中,所有 $ n $ 之和不超过 $ 10^5 $。
**输出数据格式:**
对于每一个测试点,输出一行一个正整数,表示 $ f(a,b) $ 的最大值。
**输入输出样例:**
输入样例 #1:
```
3
5
1 0 0 3 3
2 3 2 1 0
3
1 1 1
0 0 3
8
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0
```
输出样例 #1:
```
2
0
7
```**题目大意:** 题目定义了一个函数 $ f(a, b) $,其中 $ a $ 和 $ b $ 是两个长度为 $ n $ 的数组。函数的操作如下: 1. 创建一个长度为 $ n $ 的数组 $ c $,满足 $ c_i = a_i \oplus b_i $ (这里的 $ \oplus $ 表示按位异或)。 2. 则 $ f(a, b) = c_1 \& c_2 \& \cdots \& c_n $。 你可以对数组 $ b $ 进行任意的排列(包括保留原始情况),目标是求出最大的 $ f(a,b) $。 **输入数据格式:** 第一行一个整数 $ t $($ 1 \le t \le 10^4 $),表示数据组数。 对于每组数据: - 第一行一个整数 $ n $($ 1 \le n \le 10^5 $),表示 $ a,b $ 数组的长度。 - 第二行 $ n $ 个自然数 $ a_1, a_2, \ldots, a_n $($ 1 \le a_i < 2^{30} $)。 - 第三行 $ n $ 个自然数 $ b_1, b_2, \ldots, b_n $($ 1 \le b_i < 2^{30} $)。 保证所有测试点中,所有 $ n $ 之和不超过 $ 10^5 $。 **输出数据格式:** 对于每一个测试点,输出一行一个正整数,表示 $ f(a,b) $ 的最大值。 **输入输出样例:** 输入样例 #1: ``` 3 5 1 0 0 3 3 2 3 2 1 0 3 1 1 1 0 0 3 8 0 1 2 3 4 5 6 7 7 6 5 4 3 2 1 0 ``` 输出样例 #1: ``` 2 0 7 ```
题目定义了一个函数 $ f(a, b) $,其中 $ a $ 和 $ b $ 是两个长度为 $ n $ 的数组。函数的操作如下:
1. 创建一个长度为 $ n $ 的数组 $ c $,满足 $ c_i = a_i \oplus b_i $ (这里的 $ \oplus $ 表示按位异或)。
2. 则 $ f(a, b) = c_1 \& c_2 \& \cdots \& c_n $。
你可以对数组 $ b $ 进行任意的排列(包括保留原始情况),目标是求出最大的 $ f(a,b) $。
**输入数据格式:**
第一行一个整数 $ t $($ 1 \le t \le 10^4 $),表示数据组数。
对于每组数据:
- 第一行一个整数 $ n $($ 1 \le n \le 10^5 $),表示 $ a,b $ 数组的长度。
- 第二行 $ n $ 个自然数 $ a_1, a_2, \ldots, a_n $($ 1 \le a_i < 2^{30} $)。
- 第三行 $ n $ 个自然数 $ b_1, b_2, \ldots, b_n $($ 1 \le b_i < 2^{30} $)。
保证所有测试点中,所有 $ n $ 之和不超过 $ 10^5 $。
**输出数据格式:**
对于每一个测试点,输出一行一个正整数,表示 $ f(a,b) $ 的最大值。
**输入输出样例:**
输入样例 #1:
```
3
5
1 0 0 3 3
2 3 2 1 0
3
1 1 1
0 0 3
8
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0
```
输出样例 #1:
```
2
0
7
```**题目大意:** 题目定义了一个函数 $ f(a, b) $,其中 $ a $ 和 $ b $ 是两个长度为 $ n $ 的数组。函数的操作如下: 1. 创建一个长度为 $ n $ 的数组 $ c $,满足 $ c_i = a_i \oplus b_i $ (这里的 $ \oplus $ 表示按位异或)。 2. 则 $ f(a, b) = c_1 \& c_2 \& \cdots \& c_n $。 你可以对数组 $ b $ 进行任意的排列(包括保留原始情况),目标是求出最大的 $ f(a,b) $。 **输入数据格式:** 第一行一个整数 $ t $($ 1 \le t \le 10^4 $),表示数据组数。 对于每组数据: - 第一行一个整数 $ n $($ 1 \le n \le 10^5 $),表示 $ a,b $ 数组的长度。 - 第二行 $ n $ 个自然数 $ a_1, a_2, \ldots, a_n $($ 1 \le a_i < 2^{30} $)。 - 第三行 $ n $ 个自然数 $ b_1, b_2, \ldots, b_n $($ 1 \le b_i < 2^{30} $)。 保证所有测试点中,所有 $ n $ 之和不超过 $ 10^5 $。 **输出数据格式:** 对于每一个测试点,输出一行一个正整数,表示 $ f(a,b) $ 的最大值。 **输入输出样例:** 输入样例 #1: ``` 3 5 1 0 0 3 3 2 3 2 1 0 3 1 1 1 0 0 3 8 0 1 2 3 4 5 6 7 7 6 5 4 3 2 1 0 ``` 输出样例 #1: ``` 2 0 7 ```