Найдите минимальную сумму матрицы (n x n), которая выбирает только одну в каждой строке и столбце

это еще одна проблема алгоритмов, связанных с динамическим программированием

Вот проблема:

найдите минимальную сумму заданной матрицы, которая выбирает одну в каждой строке и столбце

Например:

3 4 2

8 9 1

7 9 5

минимальный: 4 + 1 + 7

Я думаю, что решение - это сетевой поток (максимальный поток/мин), но я думаю, что это не должно быть так сложно, как есть

Мое решение: отдельный для n list [column], column1, column2... column n

тогда начальная точка (S) → column1 → column2 → ... → column n → (E) конечная точка и выполнить максимальный расход/мин.

Ответ 1

Это Задача назначения, которая может рассматриваться как частный случай оптимального соответствия минимального веса в графах. Классический способ решения задачи присвоения - использовать Венгерский алгоритм.