#5376. Z-function (Mã bài: ZFUNC)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một chuỗi S . Hãy tính mảng Z (Z-function) của nó. Với mỗi i từ 0 đến |S|-1 , Z[i] là độ dài tiền tố chung dài nhất của chuỗi S và hậu tố của S bắt đầu từ vị trí i .

Dữ liệu: Một dòng duy nhất chứa chuỗi S .

Kết quả: In ra |S| số nguyên, là các giá trị của mảng Z, cách nhau bởi khoảng trắng. Theo quy ước, Z[0]=0 .

Ví dụ:

Dữ liệu:

abacaba

Kết quả:

0 0 1 0 3 0 1

Giới hạn: 1 \le |S| \le 10^6 . Chuỗi S chỉ chứa ký tự latin thường.