Diferente pentru problema/aiacuxor intre reviziile #4 si #5

Nu exista diferente intre titluri.

Diferente intre continut:

Bulănel are un şir $V$ cu $N$ elemente. Fie $f(i,j)$= suma xor a elementelor subsecvenţei determinate de poziţiile cuprinse între $[i,j]$, $i≤j$ ( $V(i) xor V(i+1) xor … xor V(j)$ ). Bulănel e curios să afle care este suma xor a valorilor returnate de funcţia **f** pentru toate subsecvenţele din şirul V cu lungimea cuprinsă între $[X, Y] (X≤Y)$. Deoarece e curios Bulănel vă pune $Q$ astfel de întrebări.
Având în vedere că Bulănel stă prost cu cititul, vă dă la dispoziţie un şir auxiliar $S$ de lungime $M$, indexat de la $0$ la $M-1$, cu ajutorul căruia vă veţi construi şirul $V$. Elementul de pe fiecare poziţie $i, 0 ≤ i < N$, din vectorul $V$ va fi calculat cu următoarea formulă:
== code(cpp) |
V[i] = (S[i / M] xor S[i mod M]) + i, unde x / y reprezintă câtul împărţirii lui x la y, x mod y reprezintă restul lui x la împărţirea cu y, şi x xor y reprezintă rezultatul operaţiei xor (sau exclusiv pe biţi) dintre x şi y.
V[i] = (S[i / M] xor S[i mod M]) + i, unde x / y reprezintă câtul împărţirii lui x la y, x mod y reprezintă restul lui x la împărţirea cu y,
şi x xor y reprezintă rezultatul operaţiei xor (sau exclusiv pe biţi) dintre x şi y.
==
De asemenea şi întrebările se generează în felul următor: ştiind prima intrebare $X Y$, următoarele perechi $X_nou, Y_nou$ se afla după formulele:
== code(cpp) |

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.