Diferente pentru problema/halftree intre reviziile #3 si #24

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="halftree") ==
Pasionat de problemele cu arbori, Petrică a găsit următoarea problemă: Se dă un arbore cu $N$ noduri şi costuri *pare* pe muchii.
 
Distanţa dintre două noduri ale arborelui este egală cu suma costurilor muchiilor de pe cel mai scurt drum dintre cele două noduri.
 
Se defineşte valoarea unui arbore ca fiind suma distanţelor dintre oricare 2 noduri ale acestuia.
 
Petrică are la dispoziţie următoarea operaţie, pe care o poate face \textbf{o singură dată}: alege un lanţ al arborelui şi înjumătăţeşte costul tuturor muchiilor de pe acel lanţ. Ajutaţi-l să găsească cea mai mică valoare a unui arbore obţinut după aplicarea operaţiei.
 
 
Un lanţ se defineşte ca fiind o înşiruire de noduri distincte $a_1, a_2, \dots, a_K$ (pentru $K \ge 1$), unde există o muchie între $a_i$ şi $a_{i+1}$ pentru orice $1 \le i < K$.
Petrică are la dispoziţie următoarea operaţie, pe care o poate face *o singură dată*: alege un lanţ al arborelui şi înjumătăţeşte costul tuturor muchiilor de pe acel lanţ. Ajutaţi-l să găsească cea mai mică valoare a unui arbore obţinut după aplicarea operaţiei.
Un lanţ se defineşte ca fiind o înşiruire de noduri distincte <tex>a_1, a_2, \dots, a_K</tex> (pentru <tex>K \ge 1</tex>), unde există o muchie între <tex>a_i</tex> şi <tex>a_{i+1}</tex> pentru orice <tex>1 \le i < K</tex>.
h2. Date de intrare
Fişierul de intrare $halftree.in$ ...
Fişierul de intrare $halftree.in$ conţine pe primul rând se gaseşte un număr întreg pozitiv $N$ reprezentând numărul de noduri ale arborelui.
A doua linie conţine $N-1$ numere întregi <tex>p_2, p_3, \dots, p_N</tex>, reprezentând că există o muchie între nodul $i$ şi nodul <tex>p_i</tex>.
A treia linie conţine $N-1$ numere întregi <tex>c_2, c_3, \dots, c_N</tex>, unde <tex>c_i</tex> reprezintă costul muchiei dintre $i$ şi <tex>p_i</tex>.
h2. Date de ieşire
În fişierul de ieşire $halftree.out$ ...
În fişierul de ieşire $halftree.out$ se va afişa pe primul rând un număr întreg reprezentând valoarea minimă a unui arbore obţinută după aplicarea operaţiei asupra arborelui iniţial.
h2. Restricţii
* $... &le; ... &le; ...$
* <tex>1 \le N \le 10^5</tex>
* <tex>1 \le p_i < i</tex> pentru orice $i$ de la $2$ la $N$
* <tex>-10^3 \le c_i \le 10^3</tex> pentru orice $i$ de la $2$ la $N$
* <tex>c_i</tex> este par pentru orice $i$ de la $2$ la $N$
* Subtask 1: Arborele nu conţine niciun nod cu grad mai mare de 2 (arborele este un lanţ).
* Subtask 2: <tex>1 \le N \le 10^2</tex> si <tex>0 \le c_i \le 10^3</tex> pentru orice $i$ de la $2$ la $N$
* Subtask 3: <tex>1 \le N \le 10^3</tex> si <tex>0 \le c_i \le 10^3</tex> pentru orice $i$ de la $2$ la $N$
* Subtask 4: si <tex>0 \le c_i \le 10^3</tex> pentru orice $i$ de la $2$ la $N$
* Subtask 5: Toate valorile muchiilor sunt egale (<tex>c_i = c_j</tex> pentru orice <tex>2 \le i, j \le N</tex>).
* Subtask 6: <tex>1 \le N \le 10^3</tex>
* Subtask 7: Fără restricţii suplimentare
h2. Exemplu
table(example). |_. halftree.in |_. halftree.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 5
1 1 2 1
30 16 38 14
| 254
|
 
h3. Explicaţie
 
...
| 10
1 1 2 2 3 3 7 7 9
-2 2 -4 4 -6 6 10 2 0 | 77 |
== include(page="template/taskfooter" task_id="halftree") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.