Pagini recente » Monitorul de evaluare | Diferente pentru problema/egalitati intre reviziile 3 si 2 | Istoria paginii problema/hack | Diferente pentru utilizator/pregoli intre reviziile 19 si 20 | Diferente pentru problema/tequila intre reviziile 12 si 13
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="tequila") ==
Poveste şi cerinţă...
Intors acasa de la ONI, Antonio se plimba prin Gradina Publica din Barlad impreuna cu cel mai bun prieten al sau, Zetul.
Antonio ii spune lui Zetul urmatoarea problema, care se va da la JBOI 2016 (informatie sigura, aflata de Antonio):
Se da un arbore cu N noduri, fiecare nod X avand o valoare asociata, val[x].
Exista 2 operatii:
-operatia de update: Noua valoarea a nodului X va fi y;
-operatia de query: Cat timp radacina nu este stearsa, Zetul alege **la intamplare** un nod X si va fi nevoit sa bea val[X] shot-uri de tequila, iar mai apoi va sterge subarborele nodului X
(inclusiv nodul X). Antonio este curios cate shot-uri de tequila va bea Zetul **in medie**.
Cerinta:
Pentru arborele initial, cat si dupa fiecare operatie de update, Antonio va cere sa aflati valoarea operatiei de query.
h2. Date de intrare
Fişierul de intrare $tequila.in$ ...
Fisierul de intrare $tequila.in$ va contine pe prima linie doua numere naturale N si M, reprezantand numarul de noduri ale arborelui si numarul de update-uri.
Urmatoarele N linii vor descrie arborele, pentru fiecare nod X (1 <= X <= N) tatal acestuia.
Urmatoarele M linii vor descrie operatiile de update, si vor fi de forma: X y (val[x] = y);
h2. Date de ieşire
În fişierul de ieşire $tequila.out$ ...
În fişierul de ieşire $tequila.out$ va contine M + 1 linii, raspunsul pentru fiecare query.
h2. Restricţii
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.