Nu aveti permisiuni pentru a descarca fisierul grader_test33.in
Diferente pentru algoritmi-de-baleiere intre reviziile #22 si #21
Nu exista diferente intre titluri.
Diferente intre continut:
Sa vedem acum analiza complexitatii. Avem nevoie de un timp $O(N * log N)$ pentru sortarea listei de evenimente dupa abscisa, $O(log N)$ (sau chiar $O(1)$ la heap-uri si la $set$-urile din STL) pentru alegerea obiectului cu ordonata maxima, $O(log N)$ pentru inserare si stergere in structura de date aleasa. Intrucat sunt $2 * N$ evenimente (cate 2 capete pentru fiecare segment), iar pentru fiecare efectuam o interogare si o adaugare / stergere, complexitatea finala va fi $O(N * log N) + O(N) * (O(log N) + O(log N)) = O(N * log N)$.
Situatiase poatecomplicadaca dreptunghiurile nu au o latura fixatapeaxa$OX$.Numaiestesuficientaosimplaextragereaelementuluimaximdinstructurade date,citrebuiesaretinemmult maimulte informatiipentruapastracomplexitatea$O(N* log N)$.AceastageneralizareafostdatalaOlimpiada Balticade Informaticadin2001(problema MarsMaps).
Problema de fata poate fi generalizata pentru cazul in care dreptunghiurile nu au o latura fixata, ci sunt oarecare in plan. Pentru acest lucru, la fiecare eveniment va fi necesara o parcurgere integrala a multimii de obiecte intersectate de linia de baleiere, ceea ce conduce la un timp de executie patratic $O(N^2^)$. Lasam aceasta aplicatie ca un exercitiu pentru cititor.
h2(#baleiere_rotationala). Baleiere rotationala
h2(#aplicatii). Aplicatii
Iata si o scurta lista de probleme care merita implementate: * BOI 2001: 'Mars Maps':http://www.ii.uni.wroc.pl/boi/index.phtml?id=11
h2(#bibliografie). Bibliografie
