Revizia anterioară Revizia următoare
Training Dummy
Avand o secure cu puterea si o papusa cu
puncte de viata, avem nevoie de
lovituri pentru a distruge papusa. Deci, numarul mediu de secunde este egal cu
.
Solutia are complexitatea .
Super Mario
Solutia 1
Definim o functie care returneaza numarul minim de mutari necesare pentru a distruge toate testoasele din intervalul
, folosind numai testoase din acest interval. Raspunsul va fi dat de
.
In continuare, incercam sa gasim raspunsul pentru intervalul . Pe care testoasa o distrugem prima si in ce directie o impingem?
Fie pozitia testoasei din acest interval cu puterea maxima. Observam ca la prima mutare o vom alege tot timpul pe aceasta. Nu are rost sa incepem cu alta testoasa, deoarece avem sansa sa ne lovim de tesoasa
si in acest caz era mai bine sa inversam ordinea mutarilor.
Deci, distrugem testoasa si incercam sa o impingem in ambele directii. Daca o impingem spre stanga, distrugem toate testoasele din intervalul
. In acest caz avem nevoie de
mutari. Similar, daca o impingem spre dreapta, avem nevoie de
mutari. Deci,
. Cazul de baza este
.
Aceasta solutie are complexitatea , deoarece in cel mai rau caz vizitam
intervale si pentru fiecare aflam maximul in
. Maximul se poate afla cu arbori de intervale sau cu range minimum query.
Hero's Call: Northrend!
Temple