【发布时间】:2019-09-09 14:51:22
【问题描述】:
给定n个元素的集合,求大小最多为k(k是另一个整数)的子集的乘积之和。
n 的范围在 1000 秒内,所以我需要比指数时间复杂度更快的东西。
我觉得这个问题可以使用多项式 FFT 来解决,但我不确定。 另外,请查看https://math.stackexchange.com/questions/786183/sum-of-multiplication-of-all-combination-of-m-element-from-an-array-of-n-element/788655#788655
例如:
S : {1, 2, 3, 4, 5}
k = 2
那么答案就是
1 + 2 + 3 + 4 + 5 + 1*2 + 1*3 + 1*4 + 1*5 + 2*3 + 2*4 + 2*5 + 3*4 + 3*5
非常感谢伪代码或只是一些关于如何更接近解决方案的指针。
【问题讨论】:
-
你可能想看看这个。 stackoverflow.com/questions/10106193/…