← Back to topics
Topic

Numbers

V
Vidakovic
Radio sam ovaj zadatak onako kako ga (za sada) jedino znam, tj. preko dinamičkog programiranja, ali dovoljno za samo 4/10 uz TLE na ostalim primjerima! Kako da ubrzam kod? Hvala unapred!

http://z-trening.com/submit.php?submit=7100211299&subm_code=1
h
halil
Ovaj problem ima veze sa Solitare igricom. (slaganje karata), i solitare sortom. Da bi se vremenski uklopio moraš koristiti binarno pretraživanje.
M
MilosRadic
vidakovic evo je moja jedna ideja,nzm da li ima ikakve veze sa halilovom ali nije losa
prvo kopiraj ceo niz u neki drugi niz pa taj niz sortiraj.i onda ides redom kroz taj sort niz i nalazi mesto tih brojeva u prvom nizu...e sad npr ako imas
2 1 3
kad sort
imas 1 2 3
krenes od kraja
znaci trojka ona se nalazi na kraju prvog niza pa pocevsi od nje pa na desno mozes da imas samo 1 element
2 se nalazi na prvom mestu pa ona moze kao njen najblizi desni sused koji je vec proveren plus 1 znaci 1+1=2
i 1 je u sredini i moze kao njen najblizi vec provereni desni sused(to je broj 3) znaci 1+1=2
i konacno resenje je 2
kada kopiras niz kopiraj i mesto na kom se naalazi taj broj u prvom nizu kako bi posle mogo da odredis kad ti treba!
a za proveravanje najblizeg vec proverenog broja koristi binarno stablo(to ti je set u c++)