#5380. Chu kỳ của chuỗi (Mã bài: PERIOD)

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 . Với mỗi tiền tố S[1..i] của S , hãy tìm độ dài chu kỳ nhỏ nhất của nó. Một chuỗi A có chu kỳ độ dài k nếu A[j] = A[j-k] với mọi j hợp lệ.

Dữ liệu:

  • Dòng đầu tiên chứa số lượng test case T .
  • Mỗi test case gồm:
    • Một dòng chứa số nguyên N - độ dài chuỗi.
    • Một dòng chứa chuỗi S độ dài N .

Kết quả: Với mỗi test case, in ra "Test case #k", sau đó là N-1 dòng, mỗi dòng chứa i k nếu tiền tố độ dài i có chu kỳ nhỏ nhất là k i chia hết cho k .

Ví dụ:

Dữ liệu:

1
8
abacabac

Kết quả:

Test case #1
8 4

Giải thích: Tiền tố "abacabac" có độ dài 8 , chu kỳ nhỏ nhất là "abac" (độ dài 4 ), và 8 chia hết cho 4 .

Giới hạn:

  • 1 \le N \le 10^6 .