#4815
anagrame6
Se consideră șirul de litere mici ale alfabetului englez A[1], ..., A[N]
.
Fie succesiunea de caractere alăturate din șir A[x], A[x + 1], ..., A[y]
, unde 1 ≤ x ≤ y ≤ N
, pe care o notăm cu A[x, y]
. Pentru oricare literă mică a alfabetului englez l
, definim range(l)
ca fiind 0
, dacă l
apare cel mult o dată în A[x, y]
. Altfel, valoarea range(l)
este egală cu diferența dintre cea mai mare și cea mai mică poziție pe care litera l
apare în A[x, y]
.
Șirul suport asociat lui A[x, y]
este șirul de caractere minim lexicografic ce conține fiecare literă l
de range(l)
ori. Asupra șirului se efectuează două tipuri de operații:
c
și poziția poz
, se înlocuiește A[poz]
cu c
.x, y
, se generează șirul suport al lui A[x, y]
.C = 1
: determinați șirul suport minim lexicografic dintre cele obținute în urma tuturor operațiilor de generare.C = 2
: pentru fiecare operație de generare dată, determinați numărul de anagrame distincte ale șirului suport obținut, modulo 1999999973
.OJI 2025, clasa a 10-a