【发布时间】:2019-05-19 01:33:04
【问题描述】:
给定一组大小为 N 的数字 S。计算 S 的所有子集,其中子集元素的累积异或小于 K。
我可以想到蛮力方法来生成 S 的所有子集并计算具有小于 k 的累积 XOR 元素的子集。我正在寻找优化的解决方案而不生成 S 的所有子集,我可以找到所有这样的子集
Example:
S = {1,2}
K = 4
U = {{},{1},{2},{1,2}}
Answer is 4 As
cumulative XOR values are 0 for {}, 1 for {1}, 2 for {2}, 3 for {1,2}.
【问题讨论】:
-
棘手。我唯一能想到的就是记下 K 的最高设置位,比如位 T。因此 K T,都太大了。
-
有些数字(“原始”或“子集 XOR”)只有位 B
标签: algorithm set dynamic-programming counting