Acwing143 最大異或對

2021-10-03 23:56:52 字數 700 閱讀 9035

用乙個tire樹來存下n個數的二進位制形式的01串,串的長度是31,因為每個數最多為2^31所以,取31,然後根據異或的特性,列舉一下所有的數,取這個數的反碼,去樹中尋找盡可能和反碼向同的路徑,並且記錄下路徑過程的異或值即可

#include

#include

#include

using

namespace std;

const

int n=

100010

;const

int m=n*31;

int son[m][2

],idx;

int a[n]

;int n;

void

insert

(int x)

}int

query

(int x)

else

}return res;

}int

main()

int res =0;

for(

int i =

0; i < n; i ++

) res =

max(res,

query

(a[i]))

;printf

("%d\n"

, res)

;return0;

}

AcWing 143 最大異或對

題目描述 在給定的n個整數a1,a2 an中選出兩個進行xor 異或 運算,得到的結果最大是多少?輸入格式 第一行輸入乙個整數n。第二行輸入n個整數a1 an。輸出格式 輸出乙個整數表示答案。資料範圍 1 n 10 5,0 ai 2 31 輸入樣例 3 1 2 3輸出樣例 3分析 本題要求我們從n個...

acwing 143 最大異或對

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

Acwing143 最大異或對

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