#3827 the xor largest pair( woj )
描述在給定的 n 個整數 a1,a2,…,an 中選出兩個進行異或運算,得到的結果最大是多少?
一道基礎的 01串trie
只知道trie,根據二進位制的性質,取反匹配,不難想到解法;
最後注意邊加數邊去最大匹配值;(有順序地列舉)
這樣效率 nlogn
#include
using
namespace std;
#define re register
#define in rd()
inline
intrd()
const
int maxn=
5e6;
int f[maxn][2
],cnt=0;
int v[maxn]
;inline
void
insert
(int p)
v[u]
=p;}
inline
intquery
(int p)
return v[u]
^p;}
signed
main()
printf
("%d"
,ans)
;return0;
}
01Trie 可持久化01Trie學習筆記
之前一直不把trie當回事,直到今天看了篇部落格,據說01trie可以當平衡樹使?然後就學了學,發現和權值線段樹也沒什麼區別 01trie 權值線段樹的本質是一棵01trie 01trie就是把數字的二進位制位從高到低當做字串扔進trie裡 巨佬一眼就能看出,把最高位是0的當做左兒子,最高位是1的當...
異或最大 0 1trie
傳送門 每個整數看著32位的二進位制01串,將n個數從高位到低位依次插入到乙個01trie中。考慮插入第i個數,相當於在trie中進行依次檢索,根據xor相同為0,不同為1的特點,貪心的每次走與ai當前位相反的指標,如果沒有相反的節點則走相同的,這樣就可以得到與ai做xor運算的最大aj inclu...
01 Trie 維護異或和
2049.多重集合 初始有乙個空陣列,現有兩種操作 向陣列中插入乙個數字 陣列中的所有數字 1 給出 n 個操作,輸出每次操作後整個陣列的異或和。01字典樹板子題 include include include include include include include include incl...