1041 最大或 思維

2021-08-07 19:32:05 字數 800 閱讀 6852

題目描述

給定乙個有n個元素的序列,你可以從中選出任意個元素,要求它們 相或之後的值最大,現在要求你找出這個結果。

如兩個數5和9,二進位制分別為:

=1101

-> 5 | 9 = 13。

輸入 第一行輸入乙個整數tt,代表有tt組測試資料( t<=200t<=200 )

每組資料佔2行,第一行有乙個整數nn代表序列元素個數,接下來一行有nn個整數代表nn個元素。

保證1<=n<=10001<=n<=1000 且 0<=0<=序列元素<=106<=106。

輸出 輸出乙個整數,代表經過或運算之後可以得到的最大結果。

樣例輸入

3 3

1 2 3

4 1 1 1 1

1 5

樣例輸出

3 1

5

#include

#include

#include

#include

#include

using

namespace

std;

const

int max = 1e6+10;

int a[max];

bool cmp(int a,int b)

int main()

sort(a,a+n,cmp);

int max = a[0];

int ans=0;

for(int i=1;iprintf("%d\n",max);

}return

0;}

2526 最大異或和(思維題,「異或和最大」)

給定nn個數x1 xnx1 xn,請你選擇n個數p1 pnp1 pn,使得p1 x1,p2 x2.p1 x1,p2 x2.並且p1xorp2 pnp1xorp2 pn的 值盡量大。問這個最大的異或和是多少。n 100,0 xi 109n 100,0 xi 109 收起第一行乙個正整數 n 第二行 n...

最大異或和

問題描述 給出n個整數,多組詢問求乙個給出的數與這n個數中的乙個數的最大異或的值。輸入格式 第一行乙個整數n,表示有個數字。第二行n個正整數。第三行乙個整數m,表示m個詢問。第四行m個整數,表示m個詢問的整數。輸出格式 共m行,對於每個詢問輸出最大的異或值。輸入樣例 43 5 6 7 31 4 7 ...

最大異或對

acwing 143.最大異或對 在給定的n個整數a1,a2 an中選出兩個進行xor 異或 運算,得到的結果最大是多少?輸入格式第一行輸入乙個整數n。第二行輸入n個整數a1 an。輸出格式輸出乙個整數表示答案。資料範圍1 n 105,0 ai 231 輸入樣例 3 1 2 3 輸出樣例 題解 異或...