Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Zadanie P* - Pudełka
Idź do strony Poprzedni  1, 2, 3  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Śro 19:45, 22 Lis 2006    Temat postu:

Moze ja glupi jestem ale dla mnie rozwiazanie na AVLach wcale nie jest trywialne...

A jak nie lubi ktos avli, to jest masa innych podobnych struktur danych.

No a wracajac do limitow pamieciowych... teraz to mozna cos takiego zrobic:
Posortowac ciag wedlug drugich krawedzi i z posortowanego ciagu utworzyc cale drzewo zrównowazone, bez pisania avli, tylko pozaznaczac ktore wierzcholki sa nieuzywane... tylko ze pewnie nie wyrobi cos takiego pamieciowo.... :P

Wogole wydaje mi sie ze te avle szybciej by poszly w kursorowej reprezentacji (na wlasnej tablicy) (bo w rozwiazaniu na linkach moze byc duzy narzut zwiazany z dispose/new ), a i tak jestesmy ograniczeni przez n*3 insert/delete, wiec lepiej liniowo to do pamieci wstawiac... i tak sie zmiesci...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jagm
zielony żul



Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów


PostWysłany: Śro 23:24, 22 Lis 2006    Temat postu:

Cytat:
Zadanie P* - Pudełka
Termin: 2 XII 2006 23:59:59
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Śro 23:30, 22 Lis 2006    Temat postu:

Ehhhh, już nawet wiem jak to zrobić.

Jeśli nie ma lepszego rozwiązanie to jest to chyba najmniej udane zadanie w tym roku.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Śro 23:38, 22 Lis 2006    Temat postu:

ja wykminilem algos o zlozonosci tak dokladniej ok: 6n * log(3n) + 15n :D i nie uzywam AVL'i tylko takiego specjalnie skonstruowanego drzewka :) w zasadzie tylko sortowanie dziala mi tak dlugo (sortuje po dlugosciach i szerokosciach), reszta idzie liniowo... i zastanawiam sie, czy ma to szanse zmiescic sie w czasie ;P ale na 99% algorytm jest poprawny :)

@rogal - a Ty jaka masz zlozonosc? :)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
smas
Okrutny Admin



Dołączył: 20 Paź 2005
Posty: 1634
Przeczytał: 0 tematów


PostWysłany: Czw 0:44, 23 Lis 2006    Temat postu:

Mateo gratulacje ;d

edited: hehe STL;d
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Czw 2:22, 23 Lis 2006    Temat postu:

smas napisał:
Mateo gratulacje ;d

edited: hehe STL;d

czyzby Mateo to przepchnal, ale mu OK cofneli? :> ja jutro dokoncze swoje :)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
smas
Okrutny Admin



Dołączył: 20 Paź 2005
Posty: 1634
Przeczytał: 0 tematów


PostWysłany: Czw 2:51, 23 Lis 2006    Temat postu:

kg86 napisał:
smas napisał:
Mateo gratulacje ;d

edited: hehe STL;d

czyzby Mateo to przepchnal, ale mu OK cofneli? :> ja jutro dokoncze swoje :)

mhm ;d TCSowcy szybko działają i analizują kod... ;d
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kg86
zielony żul



Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów

Skąd: pochodze?

PostWysłany: Czw 15:24, 23 Lis 2006    Temat postu:

@Mateo - jaka miales zlozonosc tak dokladnie? :) liczac z petlami liniowymi ;)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Roxel
pijak



Dołączył: 06 Kwi 2006
Posty: 249
Przeczytał: 0 tematów

Skąd: Pszczyna

PostWysłany: Czw 16:05, 23 Lis 2006    Temat postu:

Uff.. wreszcie sie udalo :D
RBT rocks!

Hetman prosil o binarke.. and here it comes:
[link widoczny dla zalogowanych] (z printfem niestety long longi sie krzacza w windzie)
[link widoczny dla zalogowanych] (z coutem)
[link widoczny dla zalogowanych] (linuksowa)


Ostatnio zmieniony przez Roxel dnia Wto 16:51, 28 Lis 2006, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Nie 1:56, 26 Lis 2006    Temat postu:

Drzewa w tym zadaniu to jednak przekleństwo :? . Ten sam algos z drzewami z STLa zamiast ręcznymi AVLami dostał OK. Cóż, trzeba powalczyć z ansem... :/

edit:
U mnie następnikiem mógł być największy element w prawym poddrzewie (i analogicznie dla poprzednika najmniejszy element) ;] . Ciekawe tylko, że takie coś wyszło dopiero przez przypadek dla testu wielkości 100 000 O_o .
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Lupus
pijak



Dołączył: 02 Lut 2006
Posty: 105
Przeczytał: 0 tematów

Skąd: Lea/Piastowska

PostWysłany: Nie 21:09, 26 Lis 2006    Temat postu:

Ja znam rozwiązanie, do którego nie trzeba AVLa ani drzew czerwono-czarnych. Za to (pewnie w jakiś inny sposób, nie wiem za bardzo jak wygląda to rozwiązanie z AVLem) wykorzystuje drzewo przedziałowe, które na pewno łatwiej napisać i ma mniejszą stałą niż AVL.

Nie wiem czy dobrze to nazywam drzewem przedziałowym... ale zdaje mi się, że tak.

Idea jest taka, że mamy tablicę od 1 do n, w niej jakieś wartości. I teraz chcemy szybko sprawdzać jaki jest max z elementów w komórkach z przedziału od 'i' do 'j'. Uaktualniać jakieś elementy tej tablicy i znowu sprawdzać max z jakiegoś przedziału. Normalnie takie sprawdzanie trzeba by to robić liniowo, ale można w czasie lg(n) .

Całe to drzewo można zaimplementować w tablicy, tak jak kopiec. (parent jest w indeksie i/2, lewy syn to 2*i, prawy syn to 2*i+1).

Deklarujemy tablicę, która będzie pełnym drzewem binarnym. Ale takim całkiem pełnym, tzn. o rozmiarze 1, 3, 7, 15, 31 itd .'] Niech będzie że ma rozmiar 'n'. W liściach tego drzewa (w komórkach od (n+1)/2 do n) trzymamy wartości z których chcemy obliczać max. W każdym innym wierzchołku (od 1 do n/2) trzymamy aktualne maksimum (albo numer liścia w którym znajduje się to maksimum) ze wszystkich wartości w poddrzewie zaczepionym w tym wierzchołku.

Czyli np. jeśli potrzebujemy pamiętać 6 wartości, to musimy zadeklarować tablicę na 15 elementów (numeracja od 1 do 15), która będzie symbolizować pełne drzewo binarne o 15 wierzchołkach, z których 8 jest liścmi. Liście tego drzewa są w numerach od 8 do 15. W liściach właśnie trzymamy te 6 wartości, z których obliczać będziemy max (w komórkach tablicy od 8 do 14).

Teraz np, w wierzchołku 4 trzymamy max z wartości z komórek 8 i 9. W wierzchołku 2 trzymamy max z wartości 8, 9, 10 i 11. W wierzchołku 6 max z 12 i 13, a w wierzchołku 1 max z całego drzewa .']

Żeby odczytać jaki jest max z jakiegoś przedziału to trzeba sprawdzić co najwyżej lg(n) wierzchołków. Np. jak chcemy sprawdzić jaki jest max w liściach od 8 do 14, to trzeba sprawdzić co jest w 14, 6 i 2.

Po wpisaniu nowej wartości do jakiegoś liścia, trzeba uaktualnić niektóre wierzchołki na drodze od tego liścia do korzenia (znowu lg(n)).

Żeby napisać jak to dokładnie wykorzystać w tym zadaniu, musiałbym całe rozwiązanie napisać. Nie wiem czy mam to zrobić, czy wystarczy taki hint.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cct
pijak



Dołączył: 21 Mar 2006
Posty: 202
Przeczytał: 0 tematów


PostWysłany: Pon 17:24, 27 Lis 2006    Temat postu:

Naprawdę ciekawa sprawa z tymi drzewami przedziałowymi - uprościłoby to trochę rozkminianie samemu.

Ogółem, to można zrobić to jeszcze nieco inaczej, nie wchodząc w drzewa przedziałowe - własna mapa działająca na binsearchu.

Idea

- Założenie (dla ustalenia uwagi, bez straty ogólności): w algorytmie głównym rozpatrujemy pudełka w kolejności malejących szerokości (x), za to rosnących głębokości (y) - dla odwrotnego założenia wstarczy odwrócić oczywiście nierówności wszędzie.

- Z każdym kluczem skojarzone są wartości: wartosc (w którym trzymamy maksymalną wysokość do tej pory uzyskaną dla tej głębokości pudełka) oraz max (w którym trzymamy maksymalną wartość prawego poddrzewa w drzewie wyszukiwań binarnych, czyli de facto największą wysokość do tej pory uzyskaną dla wszystkich większych głębokości y pudełka).

- Do mapy wrzucamy jako klucze wszystkie wartości y wczytane, sortujemy je, wyrzucamy powtórki.

- Wyszukiwanie binarne ma fajną tutaj właściwość - zawsze znajdujemy element, więc nigdy nam się nie zapętli ;)

- Teraz jak chcemy znaleźć maksymalną wysokość dla kluczy większych od Y, to zapuszczamy binSearcha ze zmienna np. maksimum = 0:

a) jeśli siedzimy na elemencie szukanym, to porównujemy maksimum z polem "max" dla klucza na którym siedzimy, i ew. poprawiamy jego oszacowanie

b) jeśli szukamy czegoś większego niż element na którym siedzimy, to po prostu szukamy dalej

c) jeśli szukamy czegoś większego niż element na którym siedzimy, to porównujemy maksimum zarówno z polem "wartosc", jak i "max" skojarzonymi z elementem na ktorym sie znajdujemy - i oczywiście poprawiamy oszacowanie maksimum, jeśli któryś z nich jest większy.

Innymi słowy punkt c - jeśli skręcamy na ścieżce wyszukiwania w lewo, to musimy zapamiętać maksimum z prawego poddrzewa, bo w nim znajdują się ygreki większe od szukanego (a jego wartość znajduje się w polu "max" węzła na którym skręcamy) oraz wartość "wartosc" węzła na którym skręcamy - bo też jest większy od naszego docelowego. Punkt a i b myślę nie wymagają komentarza.


EDIT o uaktualnianiu ścieżek:
Jednak przechodzi spokojnie ścieżka ze zwykłym uaktualnieniem ścieżek po ich przetworzeniu. Robi się to prosto:

- gdy siedzimy na elemencie, którego oszacowanie uaktualnialiśmy, to zapamiętujemy wartość jego pola "wartosc" w jakiejs zmiennej, np. temp

- gdy wychodzimy z rekurencji BinSearcha (bo musimy go realizować rekurencyjnie, właśnie po to, aby na stosie rekurencji była zapamiętana ścieżka do elementu!) w miejscu, w którym szliśmy w prawo (tj. element w węźle był mniejszy niż szukany), to sprawdzamy, czy nasz temp nie jest większy niż pole max tego rekordu; jeśli tak - to je uaktualniamy

(Przeszła mi ta wersja też przez Athinę).

Ogółem, złożoność tworzenia drzewa to sortowanie, a wyszukiwanie maxa to Th( lg( ilośćRóżnychKluczyY ) ) - a ściślej mówiąc, dwukrotny przegląd każdej ścieżki (liczenie wartości dla danego klucza, a później ew. propagowanie jego wartości w górę).

Jakby coś było niejasnego to mogę postarać się szerzej wytłumaczyć, teraz muszę na zajęcia uciekać.

EDITED@Prezio: mówisz - masz:



Powyżej znajduje się rysunek ilustrujący działanie podpunktu c. To jest mapa dla testowego zestawu danych. Strzałeczki pokazują jak szukamy szóstki:

1. najpierw trafiamy na piątke (1 + 7)/2 = 4, a w pozycji 4tej w tablicy jest element o kluczu 5), ale ponieważ jest mniejszy, to nas nie interesuje

2. Idziemy w prawo = czyli na pozycję ( 5 + 7 )/2 = 6; na pozycji 6 w tabeli znajduje się element o kluczu 7; ponieważ klucz 7 jest większy od naszej szóstki, to wiemy, że wszystkie elementu w jego prawym poddrzewie są też większe - więc bierzemy z nich maxa, którego mamy zapisanego w rekordzie elementu na którym siedzimy; także ta siódemka jest większa od naszego elementu, więc bierzemy też wartość skojarzoną z tym kluczem;

3. Idziemy w lewo = na pozycję ( 5 + 6 )/2 = 5; na pozycji piątej w tabeli znajduje się nasza szóstka, więc teraz wiemy, że jedyne pozostałe elementy większe od niej, których nie rozpatrzyliśmy wyżej, to te znajdujące się w jej prawym poddrzewie. (Akurat w tym przykładzie takich nie ma). No to jak już mamy policzone maksimum wszystkich elementów, które są większe od naszej szóstki, to sprawdzamy, czy to maksimum + wysokość elementu, który rozpatrujemy w algorytmie, jest większa od dotychczasowej wartości dla szóstki - jeśli tak, to zwiększamy.

Mam nadzieję, że trochę pomogło.

Jeśli chodzi o samą mapę, to oczywiście wystarczy trzymać zwykłe rekordy z kluczami:
Kod:
struct elementMapy {
   long key ;
   long long wartosc ;
   long long max ;
} ;


(Tak, specjalnie to napisałem aby przemycić informację, żeby to wszystko w long longach trzymać, bo łatwo przewala)

Sortujemy oczywiście po wartości key, tak samo robimy po nim binSearcha. Ważna sprawa - wartości kluczy muszą być unikalne, więc wcześniej powtórki wywalić jakimś prunem !!

Generatorka testów leży [link widoczny dla zalogowanych].


Ostatnio zmieniony przez cct dnia Pon 22:27, 27 Lis 2006, w całości zmieniany 6 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Prezioso
pijak



Dołączył: 18 Lis 2005
Posty: 100
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pon 20:44, 27 Lis 2006    Temat postu:

Dzięki. Ale jakbyś jeszcze zaprezentował to na prostym, małym przykładzie to byłbym wdzięczny :) :D
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Pon 21:27, 27 Lis 2006    Temat postu:

Teraz, cct, napisz ile to rozwiązanie ma linii :mrgreen: . Moje rozwiązanie z AVLami ma ok. 300, biorąc drzewa z STLa wychodzi 80, a dodatkowo z qsortem z STLa wyjdzie jakieś 60 :P .

Heh, u mnie założenie jest takie, że drzewo jest niby sortowane po drugiej współrzędnej, a tak naprawdę po wartościach aktualnie najwyższej wieży o podstawie w danym wierzchołku. Po wstawieniu elementu do drzewa ustawiana jest ta wartość na sumę wysokości wieży poprzednika i wysokości właśnie dodanego klocka. Po czym usuwane są wszystkie następniki wstawianego węzła, które mają wartość wieży niższą lub równą, po czym można przejść do następnego elementu w posortowanej tablicy i zająć się nim w podobny sposób. Wynikiem ostatecznym jest oczywiście element maksymalny w drzewie ;) .

Taki jest szkic mojego rozwiązania, na wszystkie uściślenia i szczególne przypadki postępowania proponuję wpaść samemu :P . Tak czy siak, rozwiązanie jest bardzo proste, ale wymaga zaklepania drzewa zrównoważonego ;] .
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cct
pijak



Dołączył: 21 Mar 2006
Posty: 202
Przeczytał: 0 tematów


PostWysłany: Pon 22:11, 27 Lis 2006    Temat postu:

Spectro napisał:
Teraz, cct, napisz ile to rozwiązanie ma linii :mrgreen: . Moje rozwiązanie z AVLami ma ok. 300, biorąc drzewa z STLa wychodzi 80, a dodatkowo z qsortem z STLa wyjdzie jakieś 60 :P .


Ma w wersji nieco odśmieconej z debugu 253 linijki. Przy czym dla pudełek, mapy i elementów mapy stworzyłem całe klasy, gdzie m.in. przeładowałem operatory i różne dziwne funkcje zaimplementowałem, m.in. prune'a dla pudełek (usuwa pudełka o tej samej podstawie, żeby później operował na mniejszej ilości danych) czy podwójnego quicksorta z partitionem ;)) (ach ta szybkość naciskania ctrl+v, ctrl+v ;))

Ogółem, to redundacja mojego kodu jest dość duża.

Aha, zmniejszyłem stałą przeglądu ścieżki do jednego jej przeglądnięcia. Ale i tak mój progz działa wolno jak cholera - głównie dlatego, że zawsze mapa jest zapchana tymi kluczami.

Spectro napisał:
Po czym usuwane są wszystkie następniki wstawianego węzła, które mają wartość wieży niższą, po czym można przejść do następnego elementu w posortowanej tablicy i zająć się nim w podobny sposób.


A jakiś dowód, że Ci się nie zliniowi wyszukiwanie i usuwanie (ew. zamortyzuje i nie skwadraci cały algos)?

Spectro napisał:
Tak czy siak, rozwiązanie jest bardzo proste, ale wymaga zaklepania drzewa zrównoważonego ;] .


Myślę, że jednak binSearch łatwiejszy, krótszy i asymptotycznie co najmniej taki sam czasowo ;))
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Pon 23:00, 27 Lis 2006    Temat postu:

cct napisał:
A jakiś dowód, że Ci się nie zliniowi wyszukiwanie i usuwanie (ew. zamortyzuje i nie skwadraci cały algos)?

Oczywiście :) . Każdy element wstawiamy i usuwamy z drzewa dokładnie raz. Do tego jeszcze liniowa ilość sprawdzeń wyników następnika zakończona niepowodzeniem (tzn. bez usunięcia węzła z drzewa). Wstawianie, usuwanie, następnik, poprzednik - działają w czasie proporcjonalnym do wysokości drzewa. Samo drzewo w średnim losowym przypadku nie ma zbyt wielu węzłów - dla n = 100 000 wyszło niecałe 2000.

Jedyne co tu się może kwadracić to qsort na początku :P . Ale to jest bardzo porządna wersja, do tego zrandomizowana ;) .

cct napisał:
Myślę, że jednak binSearch łatwiejszy, krótszy i asymptotycznie co najmniej taki sam czasowo ;))

Chciałbym tylko zauważyć, że wszystkie wymienione przeze mnie operacje na drzewach z zewnątrz opierają się na binsearchu :P .
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Lupus
pijak



Dołączył: 02 Lut 2006
Posty: 105
Przeczytał: 0 tematów

Skąd: Lea/Piastowska

PostWysłany: Wto 0:29, 28 Lis 2006    Temat postu:

cct - Twoja mapa realizuje właśnie dokładnie to co drzewo przedziałowe.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Hetman
pijak



Dołączył: 06 Gru 2005
Posty: 127
Przeczytał: 0 tematów

Skąd: Ustka/Kraków

PostWysłany: Wto 19:37, 28 Lis 2006    Temat postu:

nareszcier :D
4233 P Tue, 28 Nov 2006 18:26:30 CET OK

ale juz nie chce miec wicej takich problemow ze zrobieniem w sumie nie tak strasznie trudnego zadania...

nie chce mi sie pisac o bledach jakie mialem....za duzo ich bylo
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Roxel
pijak



Dołączył: 06 Kwi 2006
Posty: 249
Przeczytał: 0 tematów

Skąd: Pszczyna

PostWysłany: Wto 21:00, 28 Lis 2006    Temat postu:

@Hetman: najpierw Ci binarki daje, a potem mnie w rankingu wyprzedzasz :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Wto 21:44, 28 Lis 2006    Temat postu:

Hetman napisał:
nie chce mi sie pisac o bledach jakie mialem....za duzo ich bylo

Na czele z nieśmiertelnym:
Kod:
unsigned int main() {
    (...)
}

:mrgreen:

Co ostatecznie zmieniłeś w funkcji czyszczącej?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cct
pijak



Dołączył: 21 Mar 2006
Posty: 202
Przeczytał: 0 tematów


PostWysłany: Śro 21:42, 29 Lis 2006    Temat postu:

@Lupus - realizuje co innego (drzewo przedziałowe jest jednak dużo praktyczniejsze), oraz w nieco inny sposób (inna organizacja pamięci). Ale jakieś podobieństwo jest.

@Spectro - faktycznie, brzmi przekonująco (a propos braku 'liniowienia się'). Co nie zmienia faktu, że jednak nie binSeach w wersji tablicowej - a nie drzewowej - łatwiejszy, przyjemniejszy etc. ;)))
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Pią 0:57, 01 Gru 2006    Temat postu:

P to ZLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO... :O
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
swiecmich
pijak



Dołączył: 09 Lis 2005
Posty: 62
Przeczytał: 0 tematów

Skąd: pomorze :D

PostWysłany: Pią 1:08, 01 Gru 2006    Temat postu:

owszem, i zapowiada sie zarwana nocka na tym :/ i pozniej prosto na analize :/
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 1:16, 01 Gru 2006    Temat postu:

Ufff, poszlo. 788 linijek, z pelnymi, pieknymi AVLami :] Na virgo jest testerka do tego zadania, tylko wejscia musza byc w takim formacie jak na SPOJu (czyli bez liczby zestawow na poczatku i program konczy dzialanie po wczytaniu liczby pudelek rownej zero). Wiem, ze juz niewiele czasu zostalo, ale jesli ktos bedzie zainteresowany wersja z AVLami to niech da znac tu na forum, to walne jakis tutorial... Tradycyjne dzieki dla matea za testerke i odpowiedzi na upierdliwe pytania...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Pią 1:26, 01 Gru 2006    Temat postu:

więc wyszło Ci 788 w końcu? :D ja mam około 400 (bez komentarzy i zbędnych pierdół pewnie duuuużo mniej) na drzewach przedziałowych... jakby ktos chciał to ja też mogę walnąć tutorial ale dla drzewek przedziałowych... fajna strukturka danych... ale i tak pewnie bym siedział jeszcze dłużej nad tym zadaniem (albo w ogóle go nie przepchnął) gdyby nie Robson... :D

ps. próbowałem przetestować P na virgo parę godzin temu i nie było jeszcze testów chyba... mateo to jakoś ostatnio chyba wrzucił?
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2, 3  Następny
Strona 2 z 3

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin