Я пытаюсь решить следующие:ранец с уникальными элементами
Задача о рюкзаке заключается в следующем: дано множество целых чисел S = {s1, s2, ..., зп}, и данная целевая число T, найти подмножество S , которое суммируется точно до T. Например, в пределах S = {1,2,5,9,10} существует подмножество, которое добавляется до T = 22, но не T = 23. Дайте правильный алгоритм программирования для ранца, который работает в O (nT) времени.
но единственный алгоритм, который я мог бы придумать, генерирует все комбинации от 1 до N и пытается суммировать сумму (экспоненциальное время).
Я не могу разработать решение динамического программирования, поскольку тот факт, что я не могу повторно использовать объект, делает эту проблему отличной от проблемы обмена монетами и от общей проблемы с рюкзаком.
Может кто-нибудь помочь мне с этим или хотя бы дать мне подсказку?
Для справки проблема, которую вы описываете, обычно называется проблемой Subset Sum. В задаче Knapsack каждый элемент имеет вес * и значение *, и целью является максимизация общего значения для заданного максимально допустимого общего веса. –