Mai intai trebuie sa te autentifici.
Diferente pentru problema/shiroeseq intre reviziile #13 si #1
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="shiroeseq") ==
Activitatea nouă a lui Shiroe implică încercarea de a detecta anumite fraze memorabile în unele fluxuri de date criptate. Mai exact, lui i se dă un şir $S$ şi un set de $K$ pattern-uri Pi (cu $|P[~i~]|$ ≤ $|S|$), toate conţinând numai litere mici. Pentru fiecare pattern $P$, spunem că un substring $S'$ din $S$ "conţine puternic" $P$ dacă şi numai dacă fiecare subsecventa $S''$ de lungime $|P|$ din $S'$ este o anagrama a lui $P$. Pentru a afla cât de des apare fiecare pattern în S, Shiroe trebuie să găsească, pentru fiecare P[~i~], lungimea lui $S'[~i~]$, cea mai lungă subsecventa a lui S care "conţine puternic" $P[~i~]$. Reţineţi că un substring al unui şir $S$ = <s[~1~], ..., s[~n~]> este un alt şir $P$ = <p[~1~], ..., p[~k~]> astfel încât să existe o poziţie $t$ (cu $0$ ≤ $t$ ≤ $n - k$) astfel încât $s[~(t + x)~]$ = $p[~x~]$ pentru toate $x$ ∈ {1, 2, 3, ..., $k$}. Reţineţi că o anagramă a unui şir $S$ este orice alt şir $P$ care poate fi format din $S$ prin permutarea caracterelor lui $S$.
Poveste şi cerinţă...
h2. Date de intrare
Fişierul de intrare $shiroeseq.in$ contine pe prima linie $T$, numărul de teste. Prima linie a unui test conţine $S$. A doua linie a unui test conţine $K$. Următoarele $K$ linii ale fiecărui test conţin pattern-urile P[~i~], in ordine.
Fişierul de intrare $shiroeseq.in$ ...
h2. Date de ieşire
În fişierul de ieşire $shiroeseq.out$ se afla răspunsurile pentru fiecare test în ordine. Răspunsul pentru un test constă în $K$ linii, fiecare dintre ele reprezentand lungimea substringului cerut pattern-ului respectiv.
În fişierul de ieşire $shiroeseq.out$ ...
h2. Restricţii
* $1$ ≤ $T$ ≤ $10$ * $1$ ≤ $|S|$ ≤ $50.000$ * $1$ ≤ $|P1| + ... + |PK|$ ≤ $50.000$
* $... ≤ ... ≤ ...$
h2. Exemplu table(example). |_. shiroeseq.in |_. shiroeseq.out |
| 2 ababab 2 ab abab abcaxa 3 a yyy ax | 6 6 1 2 3
| This is some text written on multiple lines. | This is another text written on multiple lines.
|
h3. Explicaţie ...
== include(page="template/taskfooter" task_id="shiroeseq") ==