trang chủ / bài tập / koyomity

Độ đẹp của dải giấy

Đề bài

Mô tả

Cho một dãy gồm n mảnh giấy xếp cạnh nhau, đánh số từ 1 đến n từ trái sang phải. Mảnh thứ i có màu si, là một chữ cái thường trong bảng chữ cái tiếng Anh.

Với một màu c và một số nguyên m, ta được phép sơn lại tối đa m mảnh bất kỳ, mỗi mảnh sơn thành một màu tùy ý (vẫn là một chữ cái thường). Sau khi sơn, xét tất cả các đoạn con liên tiếp mà mọi mảnh trong đoạn đều có màu c; độ đẹp ứng với (m,c) là độ dài lớn nhất trong các đoạn đó.

Bạn nhận được q truy vấn, mỗi truy vấn gồm một số nguyên mi và một màu ci. Với mỗi truy vấn, hãy tính độ đẹp lớn nhất đạt được khi sơn lại tối đa mi mảnh, xét theo màu ci. Các truy vấn độc lập với nhau: mỗi truy vấn đều xuất phát từ dãy ban đầu.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số mảnh giấy.
  • Dòng thứ hai chứa xâu s gồm n chữ cái thường, mô tả màu ban đầu của các mảnh.
  • Dòng thứ ba chứa số nguyên q là số truy vấn.
  • q dòng tiếp theo, mỗi dòng chứa một số nguyên mi và một chữ cái thường ci, cách nhau bởi dấu cách.

Dữ liệu ra

In ra q dòng, dòng thứ i là độ đẹp lớn nhất đạt được ứng với truy vấn thứ i.

Ràng buộc

  • 1n1500
  • 1q200000
  • 1min
  • si,ci là các chữ cái thường trong bảng chữ cái tiếng Anh.

Ví dụ

Input Output Giải thích
6
koyomi
3
1 o
4 o
4 m
3
6
5
Truy vấn 1: sơn lại mảnh "y" thành "o" được "kooomi", đoạn "ooo" dài 3. Truy vấn 2: sơn 4 mảnh còn lại thành "o" được "oooooo", dài 6. Truy vấn 3: với màu "m", "mmmmmi" hoặc "kmmmmm" đều cho đoạn dài 5.
10
aaaaaaaaaa
2
10 b
10 z
10
10
Cả xâu đều là "a"; với m=10 ta sơn lại toàn bộ thành màu cần xét nên độ đẹp là 10.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0