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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.