You are on page 1of 1

- Thuật toán: Lập mảng kmp[] với kmp[i] là độ dài xâu là tiền tố

của xâu B kết thúc tại vị trí i. Nhận xét rằng xâu t có thể
ghép với xâu tiền tố từ 1->i (xâu con từ vị trí 1 đến vị trí
i) nếu xâu tiền tố này không thể phân tách thành xâu tiền tố
nhỏ hơn vì nếu có thể phân tách được thì sẽ lặp lại trường hợp
đã xét. Khi đó kmp[i] phải = 0. Ta có công thức quy hoạch
động: dp[j+i]+=dp[i] với kmp[j]==0 với dp[i] là số cách tạo ra
xâu độ dài i. Kết quả là dp[n].

Hướng dẫn code:

You might also like