有一系列 N 元素。我必须选择 K 元素并将它们相乘,比如乘法的值是 M(k)。现在添加所有可能的 M(k)。假设总和为 S(k)。是否有可能在 O(N ^ 2)的时间复杂度中确定 S(k)(其中1 <= k <= N)的所有值?
在这个论坛中有一个Python语言的解决方案,但我不知道Python,除此之外,我希望这个问题能够得到普遍解决。
答案 0 :(得分:3)
基本上你想要的是扩展单项式的产品
(1 + A[0] x) (1 + A[1] x) ... (1 + A[N-1] x)
并读取x, x^2, ..., x^N
的系数。这是一个简单的O(N^2)
- 时间解决方案,它使用学校算法逐个乘以每个因子。