본문 바로가기

Problem Solving/DP

BOJ 1937 - 욕심쟁이 판다

문제 링크


https://www.acmicpc.net/problem/1937


문제 해결


 1. 상하좌우를 움직여서 현재보다 증가하는 방향으로 나아가는 가장 긴 거리를 구하는 문제.


 2. DP[i][j] = (i, j)에서 출발했을 때, 도달할 수 있는 가장 긴 거리.


주의할 점 || 생각해볼 점


 1. 주로 한 방향으로 증가하는 문제만이 DP라고 생각하기 쉽기 때문에, 상하좌우 움직이는 이 문제에 대해서 DP를 생각하기 쉽지가 않다.


 2. 하지만 어느 점에서 출발하든, (i, j)를 지나게되면 (i, j)로 부터 도달할 수 있는 최장 거리는 같게된다.


 3. 만약 그냥 DFS만을 사용하게되면 의 시간이 소요된다.(정점의 개수를 N*N이라하고 전체 다 이동한다 생각하면 N*N만큼 이동할 수 있으므로)




참고


 - 





※ 정확하고 부드러운 태클은 언제나 환영입니다.



'Problem Solving > DP' 카테고리의 다른 글

BOJ 2157 - 여행  (0) 2017.09.05
BOJ 1126 - 같은 탑  (0) 2017.09.04
BOJ 9177 - 단어 섞기  (0) 2017.07.30
BOJ 1102 - 발전소  (0) 2017.07.13
BOJ 2342 - dance dance revolution  (0) 2017.07.11