Найти максимальный суммарный прямоугольник в матрице NxN
можно выполнить в O(n^3)
раз, используя 2-й алгоритм kadane, как указано в других сообщениях. Однако, если матрица разрежена, в частности O(n)
ненулевые записи, может ли быть избито время O(n^3)
?
Если это помогает, для текущего приложения, которое меня интересует, достаточно иметь решение, которое предполагает не более одного ненулевого значения в каждой строке и в каждом столбце матрицы. Тем не менее, в моих будущих приложениях это предположение может быть нецелесообразным (будет сохраняться только ограниченность), и в любом случае моя математическая интуиция заключается в том, что может быть хорошее решение (ы), которое просто использует разреженность и не будет далее использовать тот факт, что матрица произведение диагонали и матрицы перестановок.