Cho hai chuỗi: văn bản T độ dài n và mẫu P độ dài m. Hãy đếm số vị trí T chứa P như một chuỗi con (cho phép chồng lấn).
Dùng thuật toán KMP với mảng prefix-function fail: với mỗi vị trí i trong P, fail[i] là độ dài lớn nhất của tiền tố cũng là hậu tố của P[0..i]. Khi so khớp, dùng fail để nhảy mà không quay lui T — tổng O(n+m).
Ví dụ T= "aaaaa", P= "aa" → 4 vị trí.
Một dòng chứa T và P cách nhau bởi dấu cách (không chứa khoảng trắng).
1≤∣T∣≤105, 1≤∣P∣≤104. Cho phép xuất hiện chồng lấn.
Một số nguyên — số lần xuất hiện.
Ví dụ:
Đầu vào:
ababababab abab
Đầu ra:
4
Giải thích:
Đang tải editor...