만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

두 순열의 최장 공통 부분 수열

시간 제한2초메모리 제한512 MB

요약
1부터 N까지의 순열 두 개가 주어질 때, 두 순열의 최장 공통 부분 수열 길이를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 이분 탐색
정답자
아직 제출이 없습니다

문제

LCS(Longest Common Subsequence, 최장 공통 부분 수열) 문제는 두 수열이 주어졌을 때 두 수열 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제다.

예를 들어 [1, 2, 3]과 [1, 3, 2]의 LCS는 [1, 2] 또는 [1, 3]이고, 그 크기는 2다.

1부터 NN까지의 정수가 각각 정확히 한 번씩 등장하는 두 수열 AA와 BB가 주어진다. 두 수열의 LCS 크기를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 수열의 크기 NN (1≤N≤100,0001 \le N \le 100{,}000)이 주어진다.

둘째 줄에 수열 AA의 원소 NN개가, 셋째 줄에 수열 BB의 원소 NN개가 공백으로 구분되어 주어진다.

출력

두 수열의 LCS 크기를 한 줄에 출력한다.

예제4

  1. 예제 1

    입력
    2
    1 2
    2 1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3
    1 2 3
    1 3 2
    
    예상 출력
    2
    
  3. 예제 3

    입력
    1
    1
    1
    
    예상 출력
    1
    
  4. 예제 4

    입력
    5
    1 2 3 4 5
    1 2 3 4 5
    
    예상 출력
    5