Số xâu con tốt
Nộp bài giải
Điểm:
8,00 (OI)
Giới hạn thời gian:
4.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho xâu chỉ gồm các chữ cái Latinh in thường. Với một xâu khác rỗng, ta gọi tập kí tự của là tập hợp các kí tự xuất hiện trong . Ví dụ, tập kí tự của xâu aab là .
Xét xâu con (với ). Hai xâu con được coi là khác nhau nếu chúng nằm ở hai vị trí khác nhau, kể cả khi nội dung giống hệt.
Cho trước một tập kí tự khác rỗng. Một xâu con có tập kí tự bằng đúng được gọi là cực đại theo bao hàm nếu không tồn tại xâu con nào của thỏa mãn và , , và tập kí tự của cũng bằng .
Ký hiệu là số lượng xâu con cực đại theo bao hàm có tập kí tự đúng bằng .
Cho xâu và tập kí tự (mỗi tập được mô tả bằng một xâu không có kí tự lặp). Với mỗi , hãy tính .
Dữ liệu vào
- Dòng đầu chứa xâu khác rỗng.
- Dòng thứ hai chứa số nguyên .
- Tiếp theo là dòng, dòng thứ chứa một xâu gồm các kí tự khác nhau, mô tả tập .
Dữ liệu ra
In ra số nguyên, mỗi số trên một dòng — giá trị tương ứng.
Ràng buộc
- Mọi kí tự trong các xâu đều là chữ cái Latinh in thường.
- Các kí tự trong mỗi đôi một khác nhau. Các tập không nhất thiết phân biệt.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| abacaba 3 ac ba a |
1 2 4 |
Với : chỉ có xâu con abaca (vị trí 1..5) có tập kí tự … nhưng cực đại theo bao hàm cho tập đúng là aca (vị trí 3..5), trả về . Với : hai đoạn cực đại là aba (1..3) và aba (5..7). Với : bốn vị trí đơn lẻ a (1, 3, 5, 7) là cực đại. |
| aaaaa 2 a a |
1 1 |
Toàn xâu aaaaa là xâu con cực đại duy nhất có tập kí tự . Hai truy vấn giống nhau đều cho kết quả . |
Bình luận