计算具有特定XOR值的子集的数量

时间:2019-03-22 07:41:47

标签: algorithm

我在geeksforgeeks中遇到了与XOR相关的算法问题,试图了解它在做什么,但无法理解。

Problem link(给定n个数字的数组arr []和个数K,找到元素XOR为K的arr []子集的数量)

任何人都可以从第二步中简要地解释一下它的作用,并从哪里读取位操作算法技术来提出建议。

1 个答案:

答案 0 :(得分:2)

第三步:

让我们考虑j(或结果)值5 = 101barr[i-1] = 3 = 011b

我们可以通过两种方式获得结果j = 5
-不使用arr[i-1],因此第一个求和等于dp[i­-1][j]
-使用arr[i-1],因此第二个被加数必须来自
  具有xor值(j索引)101b xor 011b = 110b = 6

的单元格
  for arr[i-1] = 3
  dp[i][5] = dp[i-1][5] + dp[i-1][6]