문제 링크
- http://icpc.me/13711
사용 알고리즘
- LIS
풀이
DP로 LCS를 구할 때 걸리는 시간은 O(N2)입니다. 하지만 N이 최대 10만이므로 다른 방법을 생각해야 합니다.
문제를 읽어보면 1부터 N까지의 정수가 한 번씩 등장한다고 합니다.
수열 B의 원소를 앞에서부터 1, 2, … , N으로 재배치하고, A번도 잘 처리를 해준다면 LIS를 구하는 문제로 바꿀 수 있습니다.
LIS는 O(N log N)만에 구할 수 있으니 시간 내에 문제를 풀 수 있습니다.
전체 코드
1 |
|