大型阵列大小的 Powerset [重复]

Posted

技术标签:

【中文标题】大型阵列大小的 Powerset [重复]【英文标题】:Powerset for large array size [duplicate] 【发布时间】:2014-12-06 20:31:32 【问题描述】:

我想找到一个大型数组(最多 1500 个)的幂集的所有子集的总和。我进行了搜索,但找不到有效的算法。

例子:

array=[1,2,3]

答案:

 -> 0,1 -> 1,2 -> 2,3 -> 3,1,2 -> 3,1,3 -> 4,2,3 -> 5,1,2,3 -> 6

有没有有效的方法?

【问题讨论】:

C++,我在标题中提到 那你为什么用C++ C来标记这个问题? 看看这个***.com/questions/728972/…,IMO 你的问题有点重复 【参考方案1】:

具有 n 个元素的数组有 2^n 个子集。

每个元素将出现在其中的一半中。

因此所有子集的总和将是所有元素的总和乘以 2n-1

【讨论】:

我想像例子一样分别找到每个子集的总和.. @kvnt1102 这些子集将有 2^1500 个,你真的需要它们吗? 求模m为k的子集个数有问题 @kvnt1102 尝试使用动态编程解决该问题,其中 DP[i][k] 给出数组的前 i 个元素的子集数,其总和等于 k ​​模 m。跨度>

以上是关于大型阵列大小的 Powerset [重复]的主要内容,如果未能解决你的问题,请参考以下文章

用完 GPU Ram 的大型 cupy 阵列

如何以最优方式移动大型阵列 n 发生次数

OpenCV大型阵列类型Mat类

putExtra:我应该如何处理大型数组?数据库或拆分为更小的阵列?

使用 Pandas 读取大型文本文件 [重复]

全闪阵列GSa保障大型多元化集团5到10年的业务发展