CF1742G.Orray
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a consisting of n nonnegative integers.
Let's define the prefix OR array b as the array bi=a1 OR a2 OR … OR ai, where OR represents the bitwise OR operation. In other words, the array b is formed by computing the OR of every prefix of a.
You are asked to rearrange the elements of the array a in such a way that its prefix OR array is lexicographically maximum.
An array x is lexicographically greater than an array y if in the first position where x and y differ, xi>yi.
给你一个由 n 个非负整数组成的数组 a。
我们定义前缀按位或(prefix OR)数组 b,其中 bi=a1 OR a2 OR … OR ai,这里的 OR 表示按位或运算。换言之,数组 b 是通过对数组 a 的每个前缀依次进行 OR 运算得到的。
你需要重新排列数组 a 中的元素,使得其前缀按位或数组在字典序上尽可能大。
若数组 x 和 y 在第一个不同的位置 i 上满足 xi>yi,则称 x 的字典序大于 y。
输入格式
The first line of the input contains a single integer t (1≤t≤100) — the number of test cases. The description of test cases follows.
The first line of each test case contains a single integer n (1≤n≤2⋅105) — the length of the array a.
The second line of each test case contains n nonnegative integers a1,…,an (0≤ai≤109).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
输入的第一行包含一个整数 t(1≤t≤100),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105),表示数组 a 的长度。
每个测试用例的第二行包含 n 个非负整数 a1,…,an(0≤ai≤109)。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case print n integers — any rearrangement of the array a that obtains the lexicographically maximum prefix OR array.
对于每个测试用例,输出 n 个整数——数组 a 的任意一种重排,使得其前缀按位或(prefix OR)数组字典序最大。
输入输出样例
输入#1
5 4 1 2 4 8 7 5 1 2 3 4 5 5 2 1 101 6 2 3 4 2 3 4 8 1 4 2 3 4 5 7 1
输出#1
8 4 2 1 5 2 1 3 4 5 5 101 1 4 3 2 2 3 4 7 1 4 2 3 4 5 1
输入解题思路,AI测评打分。不知道怎么写?