Độ đẹp của xâu

Xem PDF



Thời gian:
Python 1.5s
Bộ nhớ:
Python 64M

Tác giả:
Dạng bài
Điểm: 250 Thời gian: 0.2s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho xâu \(S\) có độ dài \(n\) và một số nguyên \(k(1\le k\le n)\). Xâu \(S\)"độ đẹp"\(x\), nếu \(x\) là số nguyên không âm lớn nhất thỏa mãn:

  • Trong \(S\) tồn tại \(x\) xâu con (gồm những phần tử liên tiếp) có độ dài là \(k\) và chúng không được chồng lên nhau

  • Tất cả các phần tử của \(x\) xâu con này phải giống nhau.

Yêu cầu: Cho số nguyên \(k\) và xâu \(S\) có độ dài là \(n\). Tìm "độ đẹp" của \(S\)

Input

  • Dòng thứ nhất chứa hai số nguyên \(n\)\(k(1\le k\le n\le 2.10^5)\)

  • Dòng thứ hai chứa xâu \(S\) có độ dài là \(n\)

Output

  • In ra đáp án cần tìm

Example

Test 1

Input
4 2
aabb
Output
1
Note

Ở ví dụ 1: Xâu \("aabb"\) có "độ đẹp" là \(1\) vì chỉ có tối đa \(1\) xâu con có độ dài là \(2\) mà tất cả các phần tử của chúng giống nhau!

Test 2

Input
7 2
aabbbaa
Output
2
Note

Ở ví dụ 2: Xâu \("aabbbaaa"\) có độ đẹp là \(2\) vì có \(2\) xâu con \("aa"\) xuất hiện trong \("aabbbaa"\)


Bình luận


  • 0
    mcsmuscle    3:56 p.m. 23 Tháng 2, 2022

    "Trong S tồn tại x xâu con (gồm những phần tử liên tiếp) có độ dài là k và chúng không được chồng lên nhau"
    Không được chồng lên nhau có nghĩa là gì ạ, e ko rõ đề lắm


    • 4
      longkold00    8:19 a.m. 28 Tháng 10, 2021

      Bài này chúng ta sẽ sử dụng char để lưu string. Sử dụng vòng lặp for duyệt hết mảng char, xét kí tự thứ s[i] thì ta sẽ kiểm tra xem kí tự này có lặp đủ k lần không bằng cách tăng i lên. Nếu đủ, ta dùng 1 mảng đếm phân phối, và tăng giá trị ánh xạ của kí tự đó lên 1 đơn vị. Lưu ý ko sử dụng max để kiểm tra luôn x max, thay vào đó ta nên kiểm tra sau khi chạy hết ct.

      1 phản hồi

      • 5
        jumptozero    9:12 a.m. 26 Tháng 7, 2020 đã chỉnh sửa

        Mình đã edit lại bộ test ,các bạn sub lại nhé ! Do bộ test trên mình sinh kết quả toàn băng 0 !

        1 phản hồi