QOJ.ac

QOJ

Límite de tiempo: 5 s Límite de memoria: 1024 MB

#23597. Từ đầu tiên

Estadísticas

VegiCat có một xâu $S$ gồm $n$ chữ cái tiếng Anh viết thường. Cậu muốn xây dựng một từ điển chứa $k$ xâu con khác rỗng phân biệt của $S$ làm các từ của nó. Một xâu con là một đoạn liên tiếp của xâu. Các xâu con có cùng nội dung được coi là cùng một từ, ngay cả khi chúng xuất hiện ở các vị trí khác nhau trong $S$.

problem_23597_b7c3639e439584b24d8e3cd0c7e7774e.png

Gọi $\pi$ là một ánh xạ từ các chữ cái $\texttt{a}, \texttt{b}, \ldots, \texttt{z}$ tới các chữ cái tương ứng trong một hoán vị của $26$ chữ cái tiếng Anh viết thường. Ví dụ, hoán vị $\texttt{qwertyuiopasdfghjklzxcvbnm}$ xác định ánh xạ sau:

$$ \begin{array}{c|cccccccccccccccccccccccccc} c & \texttt{a} & \texttt{b} & \texttt{c} & \texttt{d} & \texttt{e} & \texttt{f} & \texttt{g} & \texttt{h} & \texttt{i} & \texttt{j} & \texttt{k} & \texttt{l} & \texttt{m} & \texttt{n} & \texttt{o} & \texttt{p} & \texttt{q} & \texttt{r} & \texttt{s} & \texttt{t} & \texttt{u} & \texttt{v} & \texttt{w} & \texttt{x} & \texttt{y} & \texttt{z} \\ \hline \pi(c) & \texttt{q} & \texttt{w} & \texttt{e} & \texttt{r} & \texttt{t} & \texttt{y} & \texttt{u} & \texttt{i} & \texttt{o} & \texttt{p} & \texttt{a} & \texttt{s} & \texttt{d} & \texttt{f} & \texttt{g} & \texttt{h} & \texttt{j} & \texttt{k} & \texttt{l} & \texttt{z} & \texttt{x} & \texttt{c} & \texttt{v} & \texttt{b} & \texttt{n} & \texttt{m} \end{array} $$

Đối với một xâu $u = u_1 u_2 \cdots u_m$, định nghĩa

$$ \pi(u) = \pi(u_1)\pi(u_2) \cdots \pi(u_m). $$

Ví dụ, với ánh xạ ở trên, $\pi(\texttt{apple}) = \texttt{qhhst}$.

VegiCat muốn từ điển chứa một từ $w$ sao cho sau khi áp dụng bất kỳ ánh xạ $\pi$ nào như vậy lên mọi từ trong từ điển, $\pi(w)$ luôn là từ có thứ tự từ điển nhỏ nhất trong từ điển thu được.

Với mỗi $k = 1, 2, \ldots, n$, hãy tìm số lượng từ điển chứa $k$ từ phân biệt và thỏa mãn yêu cầu, lấy phần dư cho $998\,244\,353$. Hai từ điển được coi là khác nhau khi và chỉ khi chúng chứa hai tập hợp từ khác nhau trước khi áp dụng bất kỳ ánh xạ nào.

Nhắc lại rằng xâu $a$ có thứ tự từ điển nhỏ hơn xâu $b$ nếu $a$ là một tiền tố của $b$ (và $a \neq b$), hoặc tồn tại một chỉ số $i$ ($1 \le i \le \min(|a|, |b|)$) sao cho $a_i < b_i$, và với mọi chỉ số $j$ ($1 \le j < i$) thì $a_j = b_j$.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên $T$ ($1 \le T \le 10^4$), là số lượng bộ dữ liệu. Tiếp theo là mô tả của các bộ dữ liệu.

Dòng đầu tiên của mỗi bộ dữ liệu chứa một số nguyên $n$ ($1 \le n \le 10^5$).

Dòng thứ hai chứa một xâu $S$ có độ dài $n$, chỉ gồm các chữ cái tiếng Anh viết thường.

Đảm bảo rằng tổng của $n$ trên tất cả các bộ dữ liệu không vượt quá $10^5$.

Dữ liệu ra

Đối với mỗi bộ dữ liệu, in ra $n$ số nguyên trên một dòng. Số nguyên thứ $k$ biểu thị số lượng từ điển chứa $k$ từ phân biệt và thỏa mãn yêu cầu, lấy phần dư cho $998\,244\,353$.

Ví dụ

Dữ liệu vào 1

3
3
aab
4
ppqq
7
abcaabc

Dữ liệu ra 1

5 4 3
8 10 11 10
21 52 87 119 139 128 84

Ghi chú

Mỗi từ điển dưới đây được viết dưới dạng một tập hợp các từ.

Đối với bộ dữ liệu đầu tiên, $S = \texttt{aab}$, các từ điển thỏa mãn yêu cầu với $k = 1, 2, 3$ là:

$k$ Các tập hợp từ thỏa mãn yêu cầu Số lượng từ điển
$1$ $\{\texttt{a}\,\},\ \{\texttt{b}\,\},\ \{\texttt{aa}\,\},\ \{\texttt{ab}\,\},\ \{\texttt{aab}\,\}$ $5$
$2$ $\{\texttt{a}, \texttt{aa}\,\},\ \{\texttt{a}, \texttt{ab}\,\},\ \{\texttt{a}, \texttt{aab}\,\},\ \{\texttt{aa}, \texttt{aab}\,\}$ $4$
$3$ $\{\texttt{a}, \texttt{aa}, \texttt{ab}\,\},\ \{\texttt{a}, \texttt{aa}, \texttt{aab}\,\},\ \{\texttt{a}, \texttt{ab}, \texttt{aab}\,\}$ $3$

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#3182EditorialOpenNew Editorial for Problem #23597ucup-team9445View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.