Я работаю над этой проблемой:
Задача суммы поднабора принимает в качестве входных данных набор X = {x1, x2 ,…, xn}
из n
целых чисел и другое целое число K
.Проблема состоит в том, чтобы проверить, существует ли подмножество X'
из X
, элементы которого составляют K
, и находит подмножество, если оно есть.Например, если X = {5, 3, 11, 8, 2}
и K = 16
, то ответом будет YES
, поскольку подмножество X' = {5, 11}
имеет сумму 16
.Реализуйте алгоритм для суммы подмножеств, чье время выполнения составляет не менее O(nK)
.
Обратите внимание на сложность O(nK)
.Я думаю, что динамическое программирование может помочь.
Я нашел экспоненциальный алгоритм времени, но он не помогает.
Может кто-нибудь помочь мне решить эту проблему?