Diferente pentru algoritmiada-2019/runda-maraton/solutii/tubeyou intre reviziile #2 si #3

Nu exista diferente intre titluri.

Diferente intre continut:

Mai intai remarcam ca structura grafului format din muchiile orientate (i, next[i]) este o multime de componente conexe, iar fiecare componenta conexa este un ciclu simplu de care sunt agatati mai multi arbori. Ca observatie, ciclcul poate fi format si dintr-un singur nod, in caz ca next[x] == x.
La un query ce ar trebui sa vedem este in primul rand daca nodurile se afla in aceeasi componenta conexa. In caz ca nu, afisam infinit. Altfel, ar trebui sa stim daca fac parte din acelasi arbore cu radacina pe ciclul componentei lor, sau se afla in arbori diferiti. Daca se afla in acelasi arbore, afisam maximul intre distanta de la $a$ la $lca(a, b)$ si distanta de la $b$ la $lca(a, b)$ (prin $lca(a, b)$ am notat lowest common ancestor). Daca se afla pe arbori diferiti, notam cu $A$ radacina arborelui lui $a$ si cu $B$ radacina arborelui lui $b$. Atunci raspunsul este $minim(maxim(dist(a, A) + dist(A, B), dist(b, B)), maxim(dist(b, B) + dist(B, A), dist(a, A)))$.
La un query ce ar trebui sa vedem este in primul rand daca nodurile se afla in aceeasi componenta conexa. In caz ca nu, afisam infinit. Altfel, ar trebui sa stim daca fac parte din acelasi arbore cu radacina pe ciclul componentei lor, sau se afla in arbori diferiti. Daca se afla in acelasi arbore, afisam maximul intre distanta de la $a$ la $lca(a, b)$ si distanta de la $b$ la $lca(a, b)$ (prin $lca$ am notat 'lowest common ancestor':problema/lca). Daca se afla pe arbori diferiti, notam cu $A$ radacina arborelui lui $a$ si cu $B$ radacina arborelui lui $b$. Atunci raspunsul este $minim(maxim(dist(a, A) + dist(A, B), dist(b, B)), maxim(dist(b, B) + dist(B, A), dist(a, A)))$.
La un update e ca si cand am modifica $durata[x] = 0$, mai putin pentru clipele in care se da un query in care $a$ sau $b$ este egal cu $x$, caz in care reconsideram $durata[x]$ la valoarea ei normala. Vom face distinctie intre cazul in care nodul apartine unui ciclu sau strict unui arbore.

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.