Hai phòng ban gửi hai chuỗi văn bản s và t. Hãy tìm chuỗi con chung dài nhất (không nhất thiết liên tiếp) và truy vết một chuỗi LCS cụ thể.
DP: dp[i][j] là LCS của s[0..i) và t[0..j). Nếu si−1=tj−1 thì dp[i][j]=dp[i−1][j−1]+1, ngược lại dp[i][j]=max(dp[i−1][j],dp[i][j−1]).
Truy vết từ (n,m) về (0,0) để dựng chuỗi.
Một dòng chứa hai chuỗi s và t cách nhau bởi dấu cách.
1≤∣s∣,∣t∣≤1000. Chuỗi gồm chữ cái Latin.
Dòng 1: độ dài LCS. Dòng 2: một chuỗi LCS bất kỳ (nếu độ dài 0 thì in dòng trống).
Ví dụ:
Đầu vào:
ABCBDAB BDCABA
Đầu ra:
4
BCBA
Giải thích:
Đang tải editor...