Задача для прокачки мозгов (IQ) [требует правки]

224
04 января 2018, 23:40

Долго уже пытаюсь решить эту задачу. Надеюсь вы решите ее.

Имеется массив с положительными элементами (N элементов). Районном называется отрезок (l, r) (использовать нужно K районов, ни меньше ни больше), а его полезностью сумма всех элементов входящих в него из массива.

Нужно разделить массив на районы так, чтобы квадрат разности полезности всех районов был минимален. Отрезки не могут пересекаться, а также каждый элемент должен входить в один район.

N и K (1 ≤ N ≤ 500, 1 ≤ K ≤ 100, K ≤ N) соответственно, время 1 сек

Например: 1 2 3 4 5 6. Отрезки: 1 2 3 4 (1 до 4) и 5 6 (5 до 6), разность будет -1, а квадрат 1.

Сам сделал перебор, но по времени ни как не пройдет при максимальном N и K. Поэтому прошу вас помочь в решении. Необязательно давать решение задачи, можно дать теорию которую можно почитать чтобы решить или улучшить решение этой задачи. Я новичок в программировании, поэтому хочется изучать как все работает. Заранее спасибо!

READ ALSO
Изменение значение индекса в map

Изменение значение индекса в map

Как поменять значение индекса в mapС обычным значением понятно, обращаться через индекс

229
Отображение MapPolyline на карте QML. C++/Qt

Отображение MapPolyline на карте QML. C++/Qt

По заданию необходимо отобразить карту на экране и рисовать на ней линииПробую сделать вот так:

186