Soluții trimise

Rezumat problemă

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:

  • Actualizare: dându-se litera c și poziția poz, se înlocuiește A[poz] cu c.
  • Generare: dându-se perechea x, y, se generează șirul suport al lui A[x, y].
  • Dacă C = 1: determinați șirul suport minim lexicografic dintre cele obținute în urma tuturor operațiilor de generare.
  • Dacă 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

ID   Utilizator Problema Data încărcării Stare
x x (andreiseries) anagrame6 08 Aprilie 2025, 19:06 Evaluare finalizată 4
x x (andreiseries) anagrame6 08 Aprilie 2025, 18:59 Evaluare finalizată 4
x x (andreiseries) anagrame6 08 Aprilie 2025, 18:57 Evaluare finalizată 4
x x (andreiseries) anagrame6 08 Aprilie 2025, 18:56 Evaluare finalizată E.C
Du-te sus!