Pagini recente » Diferente pentru problema/norocoase intre reviziile 6 si 11 | Monitorul de evaluare | Diferente pentru jc2012/clasament intre reviziile 3 si 4 | Diferente pentru problema/trineq intre reviziile 4 si 10 | Diferente pentru problema/shiroeseq intre reviziile 6 si 13
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="shiroeseq") ==
Poveste şi cerinţă...
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$.
h2. Date de intrare
h2. Date de ieşire
În fişierul de ieşire $shiroeseq.out$ ...
Î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.
h2. Restricţii
* $1$ ≤ $T$ ≤ $10$
* $1$ ≤ $|S|$ ≤ $50.000$
* $1$ ≤ $|P1| + ... + |PK|$ ≤ $50.000$
h2. Exemplu
3
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="shiroeseq") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.