[1. 문제 재정의 및 추상화]
[2. 해결 계획]
- 두 수열의 LIS 를 찾은 뒤 각각 합치면 해결 할 수 없다
- LIS 를 구하는 재귀 함수의 입력을 두개로 늘려야 함
=> 각 수열을 받기 위해
=> A[indexA] 와 B[indexB] 에서 시작하는 합친 증가 부분 수열의 최대 길이를 구하는 함수 - A[indexA] 와 B[indexB] 중 작은 쪽이 앞에 온다고 가정
- 이 증가 부분 수열의 다음 숫자는 두가지 경우가 존재
1. A[indexA +1] 이후 또는
2. B[indexA +1] 이후 수열 중
max(A[indexA], B[indexB]) 보다 큰 수 중 하나
=> 증가 부분 수열이 되기 위해선 A[indexA], B[indexB] 보다 큰 값이 뒤에 와야 한다.
[3. 계획 검증]
'알고리즘 > Algospot' 카테고리의 다른 글
[동적 계획법] WILDCARD (0) | 2022.02.15 |
---|---|
동적 계획법 (0) | 2022.02.14 |
[분할 정복] FENCE (0) | 2022.02.14 |
[분할 정복] QUADTREE (0) | 2022.02.05 |
[완전 탐색] CLOCKSYNC (0) | 2022.02.05 |