Dấu ấn cổ vật
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Trong phòng lưu trữ, mỗi cổ vật được ghi lại bằng một dãy ký tự. Một dấu ấn của cổ vật là một đoạn liên tiếp gồm đúng ~k~ ký tự trong dãy.
Cho xâu ~s~ độ dài ~n~. Hãy đếm xem có bao nhiêu dấu ấn khác nhau xuất hiện trong ~s~.
Yêu cầu
Tính số lượng xâu con khác nhau có độ dài đúng bằng ~k~ trong ~s~.
Dữ liệu
Dữ liệu vào từ chuẩn gồm:
- Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.
- Dòng thứ hai chứa xâu ~s~ gồm đúng ~n~ chữ cái tiếng Anh thường.
Kết quả
Ghi ra một số nguyên duy nhất là số lượng xâu con khác nhau có độ dài ~k~ trong ~s~.
Ví dụ
Ví dụ 1
Input
5 3
ababa
Output
2
Ví dụ 2
Input
6 2
abcabc
Output
3
Giải thích
Ví dụ 1
Các xâu con độ dài ~3~ là ~\text{aba}~, ~\text{bab}~, ~\text{aba}~. Có ~2~ xâu khác nhau.
Ví dụ 2
Các xâu con độ dài ~2~ khác nhau là ~\text{ab}~, ~\text{bc}~, ~\text{ca}~.
Ràng buộc và chấm điểm
Ràng buộc
- ~1 \le k \le n \le 2 \cdot 10^5~.
- ~s~ chỉ gồm các chữ cái tiếng Anh thường từ ~\text{a}~ đến ~\text{z}~.
Chấm điểm
- Subtask~1~ ~(30\%)~: ~n \le 2000~.
- Subtask~2~ ~(30\%)~: ~k \le 20~.
- Subtask~3~ ~(40\%)~: không có ràng buộc bổ sung.
Bình luận