Pagini recente » Monitorul de evaluare | Diferente pentru problema/minesweeper intre reviziile 10 si 15 | Diferente pentru problema/teme intre reviziile 5 si 6 | Diferente pentru problema/euclid intre reviziile 1 si 2 | Diferente pentru problema/lca intre reviziile 2 si 1
Diferente pentru
problema/lca intre reviziile
#2 si
#1
Diferente intre titluri:
Lowest Common Ancestor
lca
Diferente intre continut:
== include(page="template/taskheader" task_id="lca") ==
Se dă un arbore cu $N$ noduri, având rădăcina in nodul $1$. Să se răspundă la $M$ întrebări de forma: "Care este cel mai apropiat strămoş comun al nodurilor $x$ şi $y$.
Poveste şi cerinţă...
h2. Date de intrare
Pe prima linie a fişierului de intrare $lca.in$ se află $N$ şi $M$. Pe următoarea linie se află $N - 1$ numere naturale, cel de-al $i$-lea număr reprezentând tată nodului $i + 1$ (nodul $1$ fiind rădăcină nu are tată). Pe următoarele $M$ linii se află câte 2 numere naturale, reprezentând numerele de ordine ale nodurilor care definesc întrebările.
Fişierul de intrare $lca.in$ ...
h2. Date de ieşire
Fişierul de ieşire $lca.out$ va conţine $M$ linii, linia $i$ conţinând răspunsul la întrebarea $i$.
În fişierul de ieşire $lca.out$ ...
h2. Restricţii
* $2 ≤ N ≤ 100.000$
* $1 ≤ M ≤ 2.000.000$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. lca.in |_. lca.out |
| 11 5
1 1 2 2 2 4 4 6 3 3
10 11
8 9
5 11
5 6
4 2
| 3
2
1
2
2
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.