[C++/백준] 11053번: 가장 긴 증가하는 부분 수열

문제 바로가기

(하단 이미지 링크)

문제 해결 아이디어

  • 점화식 유도

  • 1. 'DP[A] = B'를 배열 인덱스 A에서 가장 긴 부분 수열의 길이는 B'라고 정의.
    2. 시작점 A는 1 ~ N까지가 될 수 있다.
    3. 시작점을 정했으면, 시작점 이전부터 첫번째 요소까지 반복하며 비교.
    4. if(시작점 > (시작점 - 1 ~ 첫번째까지 요소))라면
'DP[시작점] = max(DP[시작점], DP[시작점보다 큰 요소] + 1)'
5. 비교 후, 현재 가장 긴 부분수열의 길이(maxLen)를 계속 업데이트 해준 후 마지막에 출력!

코드

좋은 웹페이지 즐겨찾기