В классическом решении алгоритма неограниченного рюкзака с использованием динамического программирования (https://en.wikipedia.org/wiki/Knapsack_problem#Unbounded_knapsack_problem) мы выделяем целочисленный массив размера рюкзака для хранения максимальных значений.Оптимизация памяти алгоритма неограниченного рюкзака
Если у меня есть рюкзак размером 1 миллиард, как я могу оптимизировать решение DP, чтобы убедиться, что я могу разместить массив int[] knapsack
? Потому что память, взятая Java для 1B размера knapsack = 10^9 * 4Bytes = 3.7GB
памяти.
Связанный: http://stackoverflow.com/questions/20407221/dynamic-programming-with-large-inputs – jarmod
Речь не идет об оптимизации решения DP, это вопрос нахождения совершенно другого решения. –