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

StackOverflow https://stackoverflow.com/questions/4481961

Вопрос

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

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

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

Например :

3 4 2

8 9 1

7 9 5

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

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

Мое решение: разделить на n list [column], column1, column2 ... столбец n

Затем начальная точка (s) -> column1 -> column2 -> ... -> Column n -> (e) конечная точка и реализация Max Flow/Min Cut

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top