(在您回复另一个 SO 问题的链接或将其作为副本关闭之前,请仔细阅读该问题。这与此问题的标准变体不同,我已经搜索了很长时间,所以我很确定没有这里不是这样的问题)
我需要找出最小可能的 S是否是X[i]的某个子集的总和> = T(某个目标值,小于完整集的总和)。
该集合不是很大(大约 40 个元素),但对于指数回溯解决方案来说仍然太大。
数字和总和很大(大约 10^15),所以动态编程不起作用(可能状态的数量很大,所以记忆表很快就会耗尽内存)。
出于同样的原因,Pisinger 的线性时间算法将不起作用(它是 O(nr),其中 r 是总和的上限,在这种情况下太大了)。
是否有一些确定性算法可以在这种大和但很少数字的情况下帮助我?我不想求助于一些近似算法。