LQDOJ Cup 2024 - Round #3 - Xoá xâu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: strdel.inp Output: strdel.out

Cho xâu \(S\) độ dài \(n\) chỉ gồm các chữ cái từ \(a\) đến \(z\).

Một xâu con liên tiếp của \(S\) được gọi là tệ nếu nó chỉ có một loại chữ cái.

Hãy tìm cách xóa đi đúng \(k\) ký tự sao cho số xâu con tệ của \(S\) sau khi xóa là nhỏ nhất, in ra số lượng xâu con tệ ít nhất có thể có.

Input

  • Dòng đầu tiên gồm hai số nguyên dương \(n\)\(k\) \((1 \leq k \leq n \leq 10^{5})\).
  • Dòng thứ hai là xâu \(S\) độ dài \(n\), chỉ gồm các chữ cái thường từ a đến z.

Output

  • Gồm một dòng duy nhất là kết quả bài toán.

Scoring

  • Subtask \(1\) (\(21\%\) số điểm): \(n \leq 20\).
  • Subtask \(2\) (\(23\%\) số điểm): \(n \leq 28\).
  • Subtask \(3\) (\(27\%\) số điểm): \(n \leq 5000\).
  • Subtask \(4\) (\(29\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1
Input
10 2
babbdddaaa
Output
11
Note

Ta chọn xóa hai ký tự ở vị trí \(6\)\(10\), xâu \(S\) trở thành: babbddaa và có số xâu con tệ là \(11\).

Test 2
Input
19 10
cbdccccaeebddceedce
Output
9

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: