Algorithm 二叉树中的最大异或子集

Algorithm 二叉树中的最大异或子集,algorithm,Algorithm,给定一棵树,求从根到叶的任意路径的最大子集XOR。(即子集XOR可以包含或不包含从根到叶的所有元素。因此,两个兄弟或表兄弟不能属于同一子集)。 < P>我建议首先考虑这个问题:最大XOR子集< /强>,如下定义: 给定一组整数S={a1,a2,a3,…a | S |},我们定义S上的函数X如下: X(S)=a1^a2^a3^…^a | S |。(^表示按位“异或”或“异或”) 给定一组N个整数,计算给定起始集所有子集上X函数的最大值 假设上述问题可以在T(N)中解决,那么至少你的问题可以在O(N

给定一棵树,求从根到叶的任意路径的最大子集XOR。(即子集XOR可以包含或不包含从根到叶的所有元素。因此,两个兄弟或表兄弟不能属于同一子集)。

< P>我建议首先考虑这个问题:<强>最大XOR子集< /强>,如下定义:

给定一组整数S={a1,a2,a3,…a | S |},我们定义S上的函数X如下:
X(S)=a1^a2^a3^…^a | S |
。(^表示按位“异或”或“异或”)

给定一组N个整数,计算给定起始集所有子集上X函数的最大值

假设上述问题可以在T(N)中解决,那么至少你的问题可以在O(N*T(h))中解决。(N是二叉树中的叶子数,h是树的高度。)在理解了最大异或子集问题之后,可能可以做得更好

根据我的研究,高斯消去法可以用来解决最大异或子集问题。你可以参考


祝你好运

>我的建议是首先考虑这个问题:<强>最大异或子集< /强>,如下定义:

给定一组整数S={a1,a2,a3,…a | S |},我们定义S上的函数X如下:
X(S)=a1^a2^a3^…^a | S |
。(^表示按位“异或”或“异或”)

给定一组N个整数,计算给定起始集所有子集上X函数的最大值

假设上述问题可以在T(N)中解决,那么至少你的问题可以在O(N*T(h))中解决。(N是二叉树中的叶子数,h是树的高度。)在理解了最大异或子集问题之后,可能可以做得更好

根据我的研究,高斯消去法可以用来解决最大异或子集问题。你可以参考


祝你好运

stackoverflow不是免费的问题解决程序。请表现出一些努力,问一个问题,并说明你到目前为止已经尝试了什么。这不是一个问题。我想不出任何东西!这是在亚马逊采访一位朋友时问到的。我不明白如何处理这个问题,因为XOR不同于sum,不能定义为在特定条件下增加或减少。stackoverflow不是一个免费的问题解决程序。请表现出一些努力,问一个问题,并说明你到目前为止已经尝试了什么。这不是一个问题。我想不出任何东西!这是在亚马逊采访一位朋友时问到的。我不明白如何处理这个问题,因为XOR和sum不同,不能定义为在特定条件下增加或减少。