Dãy con chung dài nhất

Xem dưới dạng PDF

Gửi bài giải

Điểm: 8
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python

Cho hai mảng \(A,B\) gồm \(n\) phần tử, tìm dãy con chung dài nhất \((LCS)\) của mảng \(A\) và \(B\).

Nói cách khác, tìm \(k\) lớn nhất sao cho tồn tại \(k\) chỉ số \(i_1 \lt i_2 \lt … \lt i_k\) và \(k\) chỉ số \(j_1 \lt j_2 \lt … \lt j_k\) sao cho:

\(A_{i_1} = B_{j_1}\) \(A_{i_2} = B_{j_2}\) \(A_{i_3} = B_{j_3}\) ... \(A_{i_k} = B_{j_k}\)

Input
  • Dòng đầu tiên gồm số nguyên \(n\).
  • Dòng thứ hai gồm nsố nguyên \(A_i\).
  • Dòng thứ ba gồm nsố nguyên \(B_i\).
Output
  • In ra độ dài \((LCS)\).
Điều kiện
  • \(1 \le n \le 10^{3}\)
  • \(1 \le A_{i}, B_{i} \le 10^{9}\)

Sample Input 1

4
1 2 3 4
3 4 2 1

Sample Output 1

2

Nhận xét

Không có ý kiến tại thời điểm này.