Diferente pentru algoritmiada-2019/runda-preoji/solutii/tablou intre reviziile #3 si #2

Nu exista diferente intre titluri.

Diferente intre continut:

Prima observatie ce poate fi facuta e ca putem scurta mult calculul dereglarii a doua tablouri daca, in loc sa consideram toate pozitiile cu toate poitiile, le grupam in functie de cifra lor. Cu alte cuvinte, e suficient sa cunoastem sirul $fr[t][0...9]$ care ne spune, pentru tabloul $t$, cate cifre de $0$, de $1$, ..., de $9$ are in el.
Astfel, putem calcula, parcurgand fiecare tablou, acest sir $fr[t][0...9]$. Cand vrem sa calculam dereglarea dintre tablouri, e suficient sa fixam cifra $c1$ din primul tablou $t1$ si cifra $c2$ din al doilea tablou $t2$ si sa adunam la valoarea primului tablou $fr[t1][c1] * fr[t2][c2] * (c1 - c2)$. Complexitatea este <tex> O(Q * N^2 + Q^2 * S^2) </tex> timp si <tex> O(N^2 + Q * S) </tex> memorie.
Astfel, putem calcula, parcurgand fiecare tablou, acest sir $fr[t][0...9]$. Cand vrem sa calculam dereglarea dintre tablouri, e suficient sa fixam cifra $c1$ din primul tablou $t1$ si cifra $c2$ din al doilea tablou $t2$ si sa adunam la valoarea primului tablou $fr[t1][c1] * fr[t2][c2] * (c1 - c2)$. Complexitatea este <tex> O(Q * N^2 + Q^2 * S^2) </tex >timp si <tex> O(N^2 + Q * S) </tex> memorie.
h2. Pentru $60$ de puncte

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.