Chu kỳ nhỏ nhất bằng KMP
Xem dưới dạng PDF
Gửi bài giải
Điểm:
10
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Chu kỳ nhỏ nhất của xâu \(S\) là độ dài d nhỏ nhất sao cho S được tạo thành bằng cách lặp lại một xâu con độ dài \(d\) nhiều lần. Dùng mảng prefix function (KMP) để tìm chu kỳ nhỏ nhất.
Lưu ý: Nếu không tồn tại chu kỳ (không thể tạo bằng cách lặp), chu kỳ là chính \(|S|\).
Định dạng đầu vào
- Một dòng chứa xâu \(S\) (\(1 \le |S| \le 10^5\)), chỉ gồm chữ cái in thường.
Định dạng đầu ra
- In ra độ dài chu kỳ nhỏ nhất.
Ví dụ
Input:
abcabcabc
Output:
3
Ràng buộc
- 100% số điểm: \(|S| \le 10^5\).
Nhận xét