Я не могу понять, как эту проблему с разделами можно рассматривать как проблему динамического программирования.
У меня есть следующие сомнения:
1) Это не проблема оптимизации (илиЯ не могу видеть), тогда почему мы применяем подход DP к нему?
2) Задачи DP удовлетворяют 2 свойствам:
- Перекрывающиеся подзадачи
Оптимальная подструктура
Но я не вижу проблемы, удовлетворяющей указанным выше свойствам.
Проблема разбиения состоит в том, чтобы определить, можно ли разбить данное множество на два подмножества так, чтобысумма элементов в обоих подмножествах одинакова.
arr [] = {1, 5, 11, 5}
Вывод: true
Массив может быть разделен как{1, 5, 5} и {11}
arr [] = {1, 5, 3}
Вывод: false
Массив нельзя разбить на равныенаборы сумм.