cconny2002   3년 전

다들 이 문제 코딩할 때 배열을 많이 쓰시더군요. 그래서 c의 포인터를 이용해 트리를 만들어 풀었는데 시간 초과/메모리 초과 문제가 뜹니다. 트리로는 제한 시간 또는 제한 용량 내에 풀 수 없나요?

++ 코드는 free가 있을 때는 시간 초과, 없을 때는 메모리 초과가 뜹니다. 혹시 코드 내에 문제가 있는걸까요?

sait2000   3년 전

이 문제는 모든 경우를 다 해보면서 푸는 문제가 아닙니다. 몇 경우에 대해서 비슷한 계산을 반복하게 되는데, 이런 경우를 한 번만 계산하도록 식을 바꿔서 시간을 줄여야 합니다. 자세한 건 문제 풀이를 검색하거나 동적 계획법(dynamic programming, DP)에 대해 알아보세요.

cconny2002   3년 전

DP에 관련된 글을 몇개보니 직관적으로는 이해가 갑니다. 그럼 또 다른 새로운 질문인데, 만약 집으로 칠할 수 있는 색깔이 4개 이상이여도 DP로 풀 수 있나요?

sait2000   3년 전

될 거 같네요.

댓글을 작성하려면 로그인해야 합니다.