Inbox for mugurel_ionut@yahoo.com    Yahoo! - My Yahoo!     Options - Sign Out - Help
Mail    Addresses    Calendar    Notepad   

Enter Zip Code:     
 
Download Attachments
    Prev | Next | Inbox
From: "Mihai Patrascu" <mihai_p@pcnet.ro>  | Block Address | Add to Address Book
To: "probleme" <probleme@ldc.ro>
Subject: Re: re:intervale
Date: Mon, 9 Apr 2001 19:30:34 +0300

> > PS: Se da o multime de intervale inchise, pe care poti s-o 
prelucrezi.
> > Dup-aia ti se tot dau intervale si trebuie sa gasesti daca
> > exista vre-un
> > interval din cele initiale care sa il includa (sau sa fie
> > egale). Eu am o
> > solutie O(lgN), dar foloseste memorie O(NlgN). Stie cineva
>

> In faza de prelucrare sortezi intervalele dupa primul numar si 
elimini
> intervalele care sunt incluse de alte intervale.
> In faza de cautare ai intervalul [a,b].Cauti a in vectorul sortat si
gasesti
> k,cel > numar <=a.
> Daca exista un interval care sa includa pe [a,b] atunci el o sa aiba 
drept
> capat din stanga pe k.
> O(lgN) timp si O(N) memorie

Asta nu-i O(lgN) cum nu-s eu calugarita budista. Gasesti pe k in 
O(lgN), dar
mai departe orice interval cu capatul din stanga <= k e eligibil. 
Numarul de
astfel de intervale pe cazul cel mai defavorabil este Teta(N). 
Gandeste-te
la urmatoarele date de intrare:
1 1001
2 1002
3 1003
...
999 19999

E clar, nu? Solutia mea mi-a venit in minte inspirata de la arbori
rosu-negru persistenti, pentru cine stie ceva teorie. Ideea e sa ai
intervalele sortate dupa capatul din stanga intr-un vector A(0:n). 
Pentru
fiecare k tii intervalele din (x*(2**k):2**k) sortate separat dupa 
capatul
din dreapta, pentru orice x intreg. Deci Teta(NlgN) memorie. [Notatia 
A(x:y)
o folosesc pentru elementele A(x)..A(x+y-1), iar 2**k inseamna "2 la 
k"; nu
cred ca era nevoie se explic, toti stiti FORTRAN, nu? :-)]. Cautarea e 
cam
incalcita... dar e O(lgN).

mihai_p


     Prev | Next | Inbox
Download Attachments

Yahoo! Messenger - Send instant messages to friends!
Address Book · Alerts · Auctions · Bill Pay · Bookmarks · Briefcase · Broadcast · Calendar · Chat · Classifieds · Clubs · Companion · Domains · Experts ·Games · Greetings · Home Pages · Invites · Mail · Maps · Member Directory · Messenger · My Yahoo! · News · PayDirect · People Search · Personals · Photos · Shopping · Sports · Stock Quotes · TV · Travel · Weather · Yahooligans · Yellow Pages · more...

Privacy Policy- Terms of Service - Guidelines
Copyright © 1994-2001 Yahoo! Inc. All rights reserved.