Đây là một bài quy họch động đơn giản. Lời giải dựa trên tính chất for trâu của máy tính để giải quyết vấn đề

Gọi xâu con chung dài nhất tính đến phần tử i của xâu A và phần tử j của xâu B là C[i][j]

Chúng ta sẽ lần lượt đi so sánh hai xâu

Giả sử ta đang xét đến hai phần tử A[i] và B[j]

Nếu A[i] = B[j]

C[i][j] = C[i-1][j-1] + 1

Nếu A[i] ≠ B[j]

C[i][j] = max (C[i-1][j],C[i][j-1])

 

Chỗ này:

C[i][j] = C[i][j] + 1

hình như có vấn đề :D :D

Trả lời only_love97
  Hiện bài gốc

sorry, đã sửa lại :D thanks