Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Răspuns: 007 Arbori de intervale  (Citit de 1760 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
cippi
Vizitator
« : Decembrie 08, 2005, 14:21:56 »

Vreau sa stiu si eu cum se poate preprocesa acea structura pentru un vector in O(N)...asa cum zice in articolul LCA.  Evil or Very Mad
Memorat
vladcyb1
Vorbaret
****

Karma: 33
Deconectat Deconectat

Mesaje: 166



Vezi Profilul
« Răspunde #1 : Decembrie 08, 2005, 15:43:36 »

Daca te referi la RMQ cu arbore de intervale..cred ca merge asa :

Cod:


 procedure build_tree(nod,st,dr:longint);
 var juma:longint;
 begin
 if st=dr then arb[nod]:=valoare[st]
  else
   begin
   juma:=(st+dr) div 2;
   build_tree(2*nod,st,juma);
   build_tree(2*nod+1,juma+1,dr);
   arb[nod]:=minim(arb[2*nod],arb[2*nod+1]);
   end;
 end;

Memorat

Vlad Berteanu
cippi
Vizitator
« Răspunde #2 : Decembrie 08, 2005, 16:49:30 »

Da mai...ms..si cat m-am mai gandit Very Happy
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines