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

Dreamoon và những xâu ký tự

Đề bài

Mô tả

Cho một xâu s và một xâu mẫu p. Với một số nguyên x, ta xoá đúng x ký tự khỏi s (các ký tự còn lại giữ nguyên thứ tự) để thu được xâu s. Sau đó ta tính số lượng lớn nhất các xâu con liên tiếp, không giao nhau của s mà bằng đúng p.

Gọi giá trị đó là f(x): số bản sao p nhiều nhất có thể ghép được, lấy tối đa trên tất cả các cách xoá đúng x ký tự khỏi s.

Hãy tính f(x) cho mọi x từ 0 đến |s|.

Dữ liệu vào

  • Dòng thứ nhất chứa xâu s.
  • Dòng thứ hai chứa xâu mẫu p.

Cả hai xâu chỉ gồm các chữ cái Latinh thường.

Dữ liệu ra

In ra |s|+1 số nguyên cách nhau bởi dấu cách trên một dòng: lần lượt là f(0),f(1),,f(|s|).

Ràng buộc

  • 1|s|2000
  • 1|p|500

Ví dụ

Input Output Giải thích
aaaaa
aa
2 2 1 1 0 0 Các xâu s tối ưu khi xoá 0..5 ký tự là aaaaa, aaaa, aaa, aa, a, xâu rỗng. Ví dụ với x=0 ta tách aaaaa thành (aa)(aa)a được 2 bản sao.
axbaxxb
ab
0 1 1 2 1 1 0 0 Với x=3, xoá để còn abab được 2 bản sao ab; với x=1 còn abaxxb hoặc axbab được 1 bản sao.

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