Я уже наткнулся на эту проблему, это проблема балансировки. Программа принимает массив из целых чисел размера n. Затем программа определяет, можно ли разделить этот массив целых чисел на 2 равные части, причем суммы целых чисел в каждой половине равны.Проблема балансировки гальки
ex. 1 2 3 8 10 4
, в котором, программа возвращает истину, то есть он может быть разделен на две половины с 14 в каждом
Я знаю, это касается комбинаций/перестановок, и я на самом деле не очень хорошо им. Мне только удалось вспомнить метод грубой силы. Можно ли это решить с помощью любых других методов? возможно, более эффективные алгоритмы?
Поэтапное решение будет очень полезно. Большое спасибо
Возможно, вы захотите посмотреть: http://en.wikipedia.org/wiki/Partition_problem – DhruvPathak
Структура данных дерева пальцев приходит мне в голову. Вероятно, есть какой-то способ использовать его для получения инкрементного решения. – ony