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

Không có ý kiến tại thời điểm này.