7232. SOS 子集和比特问题 (SOS Bit Problem)
时间限制:1000 MS 内存限制:512 MB
题目描述
# SOS 子集和比特问题 (SOS Bit Problem) **时间限制**:1.00 s **空间限制**:512 MB ## 题目描述 给定一个包含 $n$ 个整数的列表。你的任务是为列表中的每个元素 $x$ 计算以下三个值: 1. 满足 $x \mid y = x$ 的元素 $y$ 的个数(其中 $\mid$ 表示按位或,即 $y$ 是 $x$ 的二进制子集)。 2. 满足 $x \mathrel{\&} y = x$ 的元素 $y$ 的个数(其中 $\mathrel{\&}$ 表示按位与,即 $x$ 是 $y$ 的二进制子集)。 3. 满足 $x \mathrel{\&} y \neq 0$ 的元素 $y$ 的个数。 ## 输入格式 第一行包含一个整数 $n$,表示列表的大小。 第二行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$,表示列表中的各个元素。 ## 输出格式 输出 $n$ 行。第 $i$ 行包含三个用空格隔开的整数,依次表示对应输入元素 $x_i$ 的上述三个计算结果。 ## 输入输出样例 ### 输入 #1 ``` 5 3 7 2 9 2 ``` ### 输出 #1 ``` 3 2 5 4 1 5 2 4 4 1 1 3 2 4 4 ``` ## 说明/提示 ### 数据规模与约定 * $1 \le n \le 2 \cdot 10^5$ * $1 \le x_i \le 10^6$