Tổng ma trận phụ tối đa


7

Đưa ra n×m ma trận Acủa các số nguyên, tìm một ma trận con có tổng là cực đại. Nếu chỉ có một hàng hoặc một cột duy nhất, thì điều này tương đương với việc tìm một mảng con tối đa .

Phiên bản 1D có thể được giải quyết trong thời gian tuyến tính bằng lập trình động. Phiên bản 2D có thể được giải quyết trongO(n3) bằng cách lặp qua tất cả các cặp cột và sử dụng thuật toán 1D trên mảng có độ dài là số hàng trong ma trận trong đó mỗi vị trí r giữ tổng của các phần tử ở hàng r giữa hai cột.

Nếu ma trận được cho bởi:

(120154331784512199)

Sau đó cho cặp cột (0,2), tổng ma trận con tối đa có thể được tìm thấy bằng cách sử dụng thuật toán 1D trên mảng (từ trên xuống dưới):

(12+0=15+43+31=794512+19=38)
Có ai biết về một O(n2) thuật toán để giải quyết vấn đề này?

Kiểm tra video này giải thích câu hỏi này. youtu.be/yCQN096CwWM

Câu trả lời:


2

Tôi tìm thấy điều này: Sung Eun Bae, Thuật toán tuần tự và song song cho bài toán Subarray tối đa tổng quát . Đọc các trang 18-30, trong đó nói rằng chỉ có hình khốiO(nm2)và các thuật toán phân khối cho vấn đề này (trong trường hợp tổng quát), ví dụ Tadao Takaoka 'sO(n3loglognlogn) thuật toán.

Tôi cũng đã tìm thấy một bình luận diễn đàn nói rằng vấn đề này có thể được giải quyết trongO(N2logN)đối với ma trận có N phần tử khác không sử dụng cây phân đoạn "vui nhộn" (bạn có thể hỏi người bình luận về chi tiết).


Điều duy nhất tôi ghét về trang web này là nó được viết bằng tiếng Nga (mặc dù tôi sử dụng nó rất nhiều).
saadtaame

@saadtaame Tôi nghĩ nó được viết bằng PHP. Và bạn có thể sử dụng các dịch giả để hiểu các văn bản viết bằng tiếng Nga. Nhưng tôi khuyên bạn không nên nói những từ "Tôi ghét", "đừng xúc phạm cảm giác của các tín đồ" (rus. Tục ngữ). Một số người trong chúng ta (nói chung, những người biết ngoại ngữ) rất tự hào về ngôn ngữ vô biên của chúng ta (tôi cũng vậy). В ероер
Ralor

Không có ý làm tổn thương cảm xúc của bạn, xin lỗi. Có tôi sử dụng các dịch giả (tôi đã nói rằng tôi sử dụng trang web rất nhiều). Vâng, bạn có thể giúp chúng tôi rất nhiều bằng cách dịch trang web sang tiếng Anh.
saadtaame
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.