Quy hoạch động như sau:
Gọi F[i][j]
là kích thước hình vuông lớn nhất cần tìm có góc phải dưới ở ô i,j
. Dễ dàng quy hoạch động để tính được bảng này và tối đa kết quả cần tìm.
https://vn.spoj.com/problems/QBSQUARE
https://oj.vnoi.info/problem/QBSQUARE
Cho một bảng kích thước MxN
, được chia thành lưới ô vuông đơn vị M
dòng N
cột ( 1 <= M, N <= 1000
)
Trên các ô của bảng ghi số 0
hoặc 1
. Các dòng của bảng được đánh số 1, 2... M
theo thứ tự từ trên xuống dưới và các cột của bảng được đánh số 1, 2..., N
theo thứ tự từ trái qua phải
Yêu cầu:
Hãy tìm một hình vuông gồm các ô của bảng thoả mãn các điều kiện sau:
0
hoặc 1
)Dòng 1: Ghi hai số m, n
M
dòng tiếp theo, dòng thứ i
ghi N
số mà số thứ j
là số ghi trên ô (i, j)
của bảng
Gồm 1 dòng duy nhất ghi kích thước cạnh của hình vuông tìm được
Input
11 13
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 1 1 1 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1
0 0 0 0 0 1 0 0 0 0 0 1 1
Output
7
Quy hoạch động như sau:
Gọi F[i][j]
là kích thước hình vuông lớn nhất cần tìm có góc phải dưới ở ô i,j
. Dễ dàng quy hoạch động để tính được bảng này và tối đa kết quả cần tìm.