|
Titlul: 1226 Planificare Scris de: Andrei Grigorean din Ianuarie 22, 2012, 14:26:21 Aici puteți discuta despre problema Planificare (http://infoarena.ro/problema/planificare).
Titlul: Răspuns: 1226 Planificare Scris de: George Popoiu din Ianuarie 23, 2012, 17:36:41 Am folosit un multiset si cautare binara dar iau doar 40p cu TLE. Cred ca e de la metoda advance pe care o folosesc in cautarea binara. Pentru pozitia m, avansez iteratorul cu m pozitii. Fac ceva de genul
Cod: it = T.begin(); Pot sa fac ceva sa pastrez ideea asta si sa iau 100p ? Sau trebuie neaparat folosit lower_bound ? Titlul: Răspuns: 1226 Planificare Scris de: Mihai Calancea din Ianuarie 23, 2012, 17:58:13 Pai analizeaza-ti putin complexitatea. Nu are niciun sens sa faci cautare binara pe o structura care nu iti permite acces indexat. Daca tie sa accesezi pozitia p iti trebuie O(p) timp n-ai rezolvat nimic. E mai rau decat daca faceai cautarea bruta, liniara. Fie folosesti lower_bound, fie iti faci arborele tau de cautare, dar iti dai seama ca nu prea merita. Ai sa gasesti alte probleme unde trebuie sa-l scrii de la 0 fiindca nu te ajuta set-ul.
Titlul: Răspuns: 1226 Planificare Scris de: Vlad Eugen Dornescu din Ianuarie 27, 2012, 10:14:39 As avea nevoie de putin ajutor la codul acesta :
Cod: fin >> n >> k; Primesc segmentation fault la linia cu Cod: spectacol.insert(t[1].final) T e o structura cu final de tip int ... si multisetul e declarat multiset<int> spectacol; Titlul: Răspuns: 1226 Planificare Scris de: Mircea Dima din Ianuarie 27, 2012, 16:54:15 Din cod nu pot trage nicio concluzie... pune toata sursa
Titlul: Răspuns: 1226 Planificare Scris de: Vlad Eugen Dornescu din Ianuarie 27, 2012, 18:37:27 Cod: #include <iostream> Titlul: Răspuns: 1226 Planificare Scris de: Mircea Dima din Ianuarie 27, 2012, 19:02:35 Pe exemplu mie imi merge (gcc 4.2).
Am pus return 0 dupa primul insert in multiset si iti da incorect pe infoarena,altfel segfault. Deci probabil in for-ul principal ai un bug. Titlul: Răspuns: 1226 Planificare Scris de: Vlad Eugen Dornescu din Ianuarie 30, 2012, 11:37:21 Am descoperit ca problema era de la
Cod: spectacol.erase(it); Titlul: Răspuns: 1226 Planificare Scris de: Paul-Dan Baltescu din Ianuarie 30, 2012, 11:45:22 Incearca sa apelezi intai functia erase si apoi functia insert.
Titlul: Răspuns: 1226 Planificare Scris de: Vlad Eugen Dornescu din Ianuarie 30, 2012, 13:13:27 Incearca sa apelezi intai functia erase si apoi functia insert. Cod:
Am incercat acum, la fel KBS SIGABRT 6. L.E : SOLVED - am rescris tot codul :) Titlul: Răspuns: 1226 Planificare Scris de: Nicu B. din Septembrie 02, 2012, 16:15:28 Am facut asa:
Am bagat intr-un heap (sa-i zicem heap1) toate canalele. Am sortat emisiunile crescator dupa timpul de incepere. Pe rand, am bagat intr-un heap (sa-i zicem heap2) timpul de final al emisiunii curente si primul canal liber ( heap1.top() ), scotand din heap1 canalul, atat timp cat heap1 nu era gol. La fiecare pas, scoteam din heap2 emisiunile terminate, introducand in heap1 canalele eliberate astfel. Daca heap1 era gol, inseamna ca emisiunea curenta nu avea niciun canal disponibil deci nu se rula. Nu inteleg de ce iau 0 pe ea (toate-s incorecte). Poate m-ati putea ajuta cu un test care sa-mi "explice" de ce solutia mea nu e buna :-" |