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

Phoenix va phan phoi chu cai

Đề bài

Mô tả

Cho một xâu s gồm n chữ cái Latin thường. Bạn cần chia tất cả các chữ cái của s vào k xâu khác rỗng a1,a2,,ak sao cho mỗi chữ cái của s thuộc đúng một xâu ai. Các xâu ai không cần là xâu con của s: bạn được phép phân phối các chữ cái và sắp xếp lại thứ tự các chữ cái bên trong mỗi xâu ai tuỳ ý.

Trong tất cả các cách chia hợp lệ, hãy tìm cách làm cho xâu lớn nhất theo thứ tự từ điển trong số a1,a2,,ak là nhỏ nhất có thể. In ra giá trị nhỏ nhất đó của max(a1,a2,,ak).

Xâu x nhỏ hơn xâu y theo thứ tự từ điển nếu x là tiền tố thực sự của y, hoặc tại vị trí đầu tiên mà chúng khác nhau, chữ cái của x nhỏ hơn chữ cái của y.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Mỗi bộ gồm hai dòng:
    • Dòng thứ nhất chứa hai số nguyên nk.
    • Dòng thứ hai chứa xâu s độ dài n gồm các chữ cái Latin thường.

Dữ liệu ra

In t dòng, mỗi dòng là đáp án của một bộ dữ liệu: giá trị nhỏ nhất có thể của max(a1,a2,,ak).

Ràng buộc

  • 1t1000
  • 1kn105
  • Tổng của n trên tất cả các bộ dữ liệu không vượt quá 105.

Ví dụ

Input Output Giải thích
6
4 2
baba
5 2
baacb
5 3
baacb
5 3
aaaaa
6 4
aaxxzz
7 1
phoenix
ab
abbc
b
aa
x
ehinopx
Bộ 1: chia baba thành ab và ab, lớn nhất là ab. Bộ 2: chia baacb thành abbc và a. Bộ 3: chia baacb thành ac, ab, b. Bộ 5: chia aaxxzz thành az, az, x, x. Bộ 6: chỉ một xâu, sắp xếp lại thành ehinopx.
1
6 3
aaabbc
abbc Ba xâu đều bắt đầu bằng a. Phần còn lại bbc không toàn ký tự giống nhau nên dồn hết vào một xâu: abbc, a, a; lớn nhất là abbc.

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