trang chủ / đề bài / redistrict

Phân Chia Khu Vực

Đề bài

Mô tả

Farmer John có N con bò xếp thành một hàng, mỗi con thuộc giống Holstein (ký hiệu 'H') hoặc Guernsey (ký hiệu 'G'). Ông muốn chia hàng bò thành các nhóm liên tiếp, mỗi con bò thuộc đúng một nhóm và mỗi nhóm có tối đa K con bò. Một nhóm được gọi là không thuận lợi nếu số bò Guernsey trong nhóm đó lớn hơn hoặc bằng số bò Holstein.

Hãy tìm cách chia sao cho số nhóm không thuận lợi là ít nhất có thể.

Dữ liệu vào

  • Dòng đầu: hai số nguyên N và K (1≤K≤N≤300000)
  • Dòng thứ hai: xâu ký tự độ dài N gồm các ký tự 'H' và 'G'

Dữ liệu ra

Một số nguyên duy nhất: số nhóm không thuận lợi ít nhất.

Ràng buộc

  • 1≤K≤N≤300000

Ví dụ

Input Output Giải thích
7 2
HGHGGHG
3 Một cách chia tối ưu: [H][G][H][GG][H][G]. Các nhóm [G], [GG], [G] là không thuận lợi (số bò G ≥ số bò H), còn ba nhóm [H] thì thuận lợi. Tổng cộng 3 nhóm không thuận lợi.
6 3
GHHGGH
1 Chia thành [GHH][GGH]: nhóm đầu có 2 bò H và 1 bò G nên thuận lợi, nhóm sau có 2 bò G và 1 bò H nên không thuận lợi. Không thể đạt 0 vì cả hàng có 3 bò G và 3 bò H, nên luôn tồn tại ít nhất một nhóm có số bò G không ít hơn số bò H.

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