trie树一般可以用于查找与指定值最近的,而二进制trie树因为每个节点最多有两个子节点,所以也可以查找与指定值最远的值,即异或最大值。
(1)问题:给定一个数组,在数组中找到两个数,使得这两个数的异或值最大
(2)要点:对于数组中的每个元素,二进制trie树查找异或最大的值。需要注意的是,CSU这个奇葩不能调用assert函数,如果有的话会直接RE。
(1)问题:给定一个数组,求这个数组中任意一个前缀和任意一个后缀异或的值的最大值
(2)要点:先将每个前缀插入到trie树,再对每个后缀求异或的最大值