二进制trie树解异或最大值问题

trie树一般可以用于查找与指定值最近的,而二进制trie树因为每个节点最多有两个子节点,所以也可以查找与指定值最远的值,即异或最大值。

CSU1216

(1)问题:给定一个数组,在数组中找到两个数,使得这两个数的异或值最大

(2)要点:对于数组中的每个元素,二进制trie树查找异或最大的值。需要注意的是,CSU这个奇葩不能调用assert函数,如果有的话会直接RE。

HRBUST1717

(1)问题:给定一个数组,求这个数组中任意一个前缀和任意一个后缀异或的值的最大值

(2)要点:先将每个前缀插入到trie树,再对每个后缀求异或的最大值

    原文作者:Trie树
    原文地址: https://blog.csdn.net/zgottingen/article/details/42341441
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注