Longest Increasing Subsequence (최장 증가 수열, LIS)

놀랍게도 LIS 풀이법을 모르고있었다. 정확히는 DP $O(n^2)$풀이법만 알고있었다. 이분 탐색 사용 O($N \log N$) 원리는 간단하다. 앞에서부터 순서대로 탐색하면서 LIS배열에 현재 탐색중인 노드가 들어갈 위치를 이분탐색으로 찾고, 집어넣는다. 만약 가장 크다면 마지막에 추가한다. 이러면 문제는, 실제 LIS수열 자체는 유지되지 않는다는 것이다. 즉, 길이 또는 마지막값 정도만 알 수있다. 그렇기 때문에 이를 위해서 추가 정보를 저장해둬야한다.

더보기