QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 1024 MB

#23597. Første ord

統計

VegiCat har en streng $S$ bestående av $n$ små engelske bokstaver. Han ønsker å bygge en ordbok som inneholder $k$ forskjellige ikke-tomme delstrenger av $S$ som ord. En delstreng er en sammenhengende del av en streng. Delstrenger med samme innhold behandles som samme ord, selv om de forekommer på ulike posisjoner i $S$.

problem_23597_b7c3639e439584b24d8e3cd0c7e7774e.png

La $\pi$ være en avbildning fra bokstavene $\texttt{a}, \texttt{b}, \ldots, \texttt{z}$ til de tilsvarende bokstavene i en permutasjon av de $26$ små engelske bokstavene. For eksempel definerer permutasjonen $\texttt{qwertyuiopasdfghjklzxcvbnm}$ følgende avbildning:

$$ \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} $$

For en streng $u = u_1 u_2 \cdots u_m$, definer

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

Med avbildningen ovenfor er for eksempel $\pi(\texttt{apple}) = \texttt{qhhst}$.

VegiCat ønsker at ordboken skal inneholde et ord $w$ slik at etter å ha brukt en hvilken som helst slik avbildning $\pi$ på hvert ord i ordboken, er $\pi(w)$ alltid det leksikografisk minste ordet i den resulterende ordboken.

For hver $k = 1, 2, \ldots, n$, finn antall ordbøker som inneholder $k$ forskjellige ord og oppfyller kravet, modulo $998\,244\,353$. To ordbøker regnes som forskjellige hvis og bare hvis de inneholder ulike mengder av ord før noen avbildning brukes.

Husk at strengen $a$ er leksikografisk mindre enn strengen $b$ hvis $a$ er et prefiks av $b$ (og $a \neq b$), eller det finnes en indeks $i$ ($1 \le i \le \min(|a|, |b|)$) slik at $a_i < b_i$, og for enhver indeks $j$ ($1 \le j < i$) gjelder $a_j = b_j$.

Inndata

Den første linjen inneholder et heltall $T$ ($1 \le T \le 10^4$), antallet testtilfeller. Beskrivelsen av testtilfellene følger.

Den første linjen i hvert testtilfelle inneholder et heltall $n$ ($1 \le n \le 10^5$).

Den andre linjen inneholder en streng $S$ med lengde $n$, som kun består av små engelske bokstaver.

Det garanteres at summen av $n$ over alle testtilfeller ikke overstiger $10^5$.

Utdata

For hvert testtilfelle, skriv ut $n$ heltall på én linje. Det $k$-te heltallet representerer antall ordbøker som inneholder $k$ forskjellige ord og oppfyller kravet, modulo $998\,244\,353$.

Examples

Input 1

3
3
aab
4
ppqq
7
abcaabc

Output 1

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

Merk

Hver ordbok nedenfor er skrevet som en mengde med ord.

For det første testtilfellet, $S = \texttt{aab}$, er ordbøkene som oppfyller kravet for $k = 1, 2, 3$:

$k$ Ordmengder som oppfyller kravet Antall ordbøker
$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.