8063591563

8063591563



je do systemu sprawdzającego, w celu zweryfikowania jego poprawności. Poniżej znajduje się lista serwisów internetowych, z których wybrane zostały zadania do tej książki:

•    http://acm.sgu.ru/ — Saratov State University :: Online Contester

•    http://acm.uva.es/ — Valladolid Programming Contest Site

•    http://spoj.sphere.pl/ — Sphere Online Judge

Wszystkie zadania zostały podzielone na trzy kategorie: proste, średniej trudności oraz trudne. Poziom trudności jest rzeczą subiektywną. Podział użyty w książce bazuje na statystykach rozwiązań, dostępnych w wyżej wymienionych serwisach. Zadania trudne charakteryzują się stosunkowo małą liczbą prób ich rozwiązania, a wśród nich niewielka część rozwiązań okazuje się być poprawna. Proste problemy z kolei cechują się wysokim odsetkiem zaakceptowanych rozwiązań w stosunku do wszystkich nadesłanych programów.

1.2.    Wymagania wstępne

Wszystkie przedstawione w tej książce algorytmy są zaimplementowane w języku C-H--

jego znajomość jest nieodzowna do zrozumiałej analizy przedstawianych tu algorytmów. Konieczna jest również znajomość biblioteki Standard Template Library (w skrócie STL), której dokumentację można znaleźć na stronie http://www.sgi.com/tech/stl/. Implementacja algorytmów wykorzystuje różne struktury danych oraz funkcje z tej biblioteki — najważniejsze z nich to funkcje: sort, swap i binary_search oraz struktury danych: vector, map i priority_queue. Oprócz powyższych elementów, biblioteka STL zawiera wiele bardzo użytecznych narzędzi. Polecam zapoznanie się z nią, gdyż może ona w istotny sposób wpłynąć na szybkość rozwiązywania zadań algorytmicznych.

1.3.    Podziękowania

Opisywana w tej książce biblioteczka algorytmiczna została stworzona wspólnie z moimi kolegami z zespołu Warsaw Predators — Markiem Cyganem i Marcinem Pilipczukiem. Chciałbym również podziękować Tomaszowi Idziaszkowi, którego kilka „chwytów programistycznych” znalazło się w naszej biblioteczce oraz Erykowi Kopczyńskiemu, który zgodził się na opublikowanie zbioru swoich makr używanych w konkursie TopCoder.

Chciałbym podziękować Tomaszowi Czajce, Andrzejowi Gąsienicy-Samkowi, Tomaszowi Malesińskiemu, Krzysztofowi Onakowi oraz Marcinowi Stefaniakowi za wyrażenie zgody na publikację ich „dobrych rad”, których udzielili swoim młodszym kolegom z Uniwersytetu Warszawskiego, biorącym udział w konkursie ACM ICPC. Wskazówki te zostały umieszczone w dziale Dodatki.

Jednym z wyzwań, podczas gromadzenia materiałów do książki, był proces wybierania odpowiednich zadań z różnych serwisów internetowych. Liczba dostępnych zadań jest ogromna (w momencie pisania tego tekstu, serwis Valladolid Programming Contest Site zawierał ponad dwa tysiące zadań). Chciałbym podziękować Jakubowi Radoszewskiemu za udzielenie cennych wskazówek dotyczących wyboru zadań.

Wielkie podziękowania należą się prof. Krzysztofowi Diksowi — naszemu wykładowcy i wielkiemu przyjacielowi, który wytrwale opiekował się nami i stwarzał warunki pozwalające na efektywne przygotowania naszych drużyn do zawodów. Niniejsza książka powstała pod jego opieką i nadzorem.

9



Wyszukiwarka

Podobne podstrony:
o „ boczne wejście" do systemu, stworzone w celu „.ułatwienia" jego pielęgnacji; o publicz
skanuj0026 ideologiczny w stosunku do dyrektyw logiczno-językowe. r~: rynzr^e wprowadzane są one do
IMG168 (5) Pierwsza z nich pozwala zamawiać opisy Online i przejmować je do systemu lokalnego. Bibli
52856 skanuj0153 konieczność powrotu do wcześniejszych etapów w celu zapewnienia jego spójności i wy
equipment and safety SystemsOrbity LEO (Low Earth Orbit) to orbity znajdujące się na wysokości od 50
do wysokości oraz szerokości ramion pacjenta, jak również znajdują się tutaj ważne elementy sterowan
SAVE0239 4 Poniżej znajdują się reklamy klubów. Dopasuj ich nazwy do odpowiednich reklam. Waterways
Przy pracy tranzystora jako wzmacniacza jego punkt pracy znajduje się w obszarze aktywnym (Q). Przy
s645 Słowniczek Poniżej znajduje się w miarę obszerny słowniczek terminów i definicji związanych z s

więcej podobnych podstron