1. 程式人生 > >二進位制trie樹解異或最大值問題

二進位制trie樹解異或最大值問題

trie樹一般可以用於查詢與指定值最近的,而二進位制trie樹因為每個節點最多有兩個子節點,所以也可以查詢與指定值最遠的值,即異或最大值。

(1)問題:給定一個數組,在陣列中找到兩個數,使得這兩個數的異或值最大

(2)要點:對於陣列中的每個元素,二進位制trie樹查詢異或最大的值。需要注意的是,CSU這個奇葩不能呼叫assert函式,如果有的話會直接RE。

(1)問題:給定一個數組,求這個陣列中任意一個字首和任意一個字尾異或的值的最大值

(2)要點:先將每個字首插入到trie樹,再對每個字尾求異或的最大值