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