trang chủ / đề bài / rgbsubstr

Xâu con RGB (bản khó)

Đề bài

Mô tả

Cho xâu s độ dài n chỉ gồm các ký tự R, G, B và số nguyên k.

Bạn cần thay đổi số ký tự ít nhất có thể trong s sao cho s chứa một xâu con liên tiếp độ dài k đồng thời cũng là xâu con liên tiếp của xâu vô hạn RGBRGBRGB....

Một xâu a là xâu con liên tiếp của xâu b nếu tồn tại chỉ số i sao cho a1=bi, a2=bi+1, …, a|a|=bi+|a|−1.

Bạn phải xử lý q truy vấn độc lập nhau.

Dữ liệu vào

  • Dòng đầu chứa số nguyên q — số lượng truy vấn.
  • Với mỗi truy vấn:
    • Dòng đầu chứa hai số nguyên n và k (1≤k≤n≤2·105).
    • Dòng thứ hai chứa xâu s độ dài n chỉ gồm các ký tự R, G, B.

Dữ liệu ra

In ra q dòng, mỗi dòng là đáp án của một truy vấn — số ký tự ít nhất cần thay đổi.

Ràng buộc

  • 1≤q≤2·105
  • 1≤k≤n≤2·105
  • Tổng n trên toàn bộ truy vấn không vượt quá 2·105.

Ví dụ

Input Output Giải thích
3
5 2
BGGGG
5 3
RBRGR
5 5
BBBRR
1
0
3
Truy vấn 1: đổi ký tự đầu thành R được xâu con RG. Truy vấn 2: xâu con BRG đã có sẵn. Truy vấn 3: cần đổi 3 ký tự để cả xâu thành BRGBR chẳng hạn.
1
10 5
RGBRGBRGBR
0 Toàn bộ xâu đã là tiền tố của RGBRGB..., mọi đoạn liên tiếp độ dài 5 đều khớp.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0