[C++] 백준/Gold/1915. 가장 큰 정사각형
·
C++/Algorithm
문제: 가장 큰 정사각형 (백준 1915번)문제 분석주어진 크기의 이진 행렬(0과 1로 구성된)에서,1로만 이루어진 정사각형 영역 중 가장 큰 정사각형의 넓이를 구하는 문제이다.즉, 행렬에서 연속된 1들로 구성된 정사각형의 최대 넓이를 구하면 된다.해결 방법: 동적 계획법 (DP)문제를 효율적으로 풀기 위해 동적 계획법(DP)을 사용할 수 있다.여기서 핵심 아이디어는,dp[i][j]를 (i, j)를 우측 하단 모서리로 하는 가장 큰 정사각형의 한 변의 길이로 정의하는 것이다.설명:(i, j) 위치에서 정사각형을 확장하기 위해서는 바로 위, 왼쪽, 그리고 대각선 왼쪽 위의 위치에 있는 정사각형 크기가 모두 일정 이상이어야 한다.이 세 방향 중 가장 작은 값에 1을 더하면 (i, ..