Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 882 Propozitie2  (Citit de 2029 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« : Mai 03, 2009, 19:10:49 »

Aici puteti discuta despre problema Propozitie2.
« Ultima modificare: Mai 04, 2009, 09:19:41 de către Bogdan Tataroiu » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
poptibi
Strain
*

Karma: 35
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #1 : Mai 31, 2013, 17:01:23 »

Cred ca limita de timp la aceasta problema este cam mica. Am complexitate O(N * C * 26), aceasta fiind si complexitatea din solutia oficiala.  Smile
Initial, am incercat o solutie cu complexitate mai mica, folosind niste codificari, dar si solutia aceasta lua TLE.
« Ultima modificare: Mai 31, 2013, 17:12:26 de către Pop Tiberiu » Memorat
scipianus
Nu mai tace
*****

Karma: 129
Deconectat Deconectat

Mesaje: 345



Vezi Profilul
« Răspunde #2 : Mai 31, 2013, 17:13:41 »

La fel zic si eu ca e cam mica limita,asta desi exista punctaje de 100. Totusi cu O(N*C*26) nu cred ca se mai poate lua 100 acum. http://www.infoarena.ro/job_detail/954894
Memorat
poptibi
Strain
*

Karma: 35
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #3 : Mai 31, 2013, 23:26:47 »

Cu valori modulo mai mari + hash de mana + O(N * 100) am reusit sa iau 100 de puncte, desi e cam jeg pentru ca a durat ceva pana sa aleg combinatia potrivita.  Smile

LE: merge si fara bulaneli in O(N * 100).

Poate sa-mi explice si mie cineva de ce secventa de cod (Hash este un map<vector<int>, int>):

Cod:
Hash[Y] ++;


foloseste > 32 mb (iau MLE), pe cand secventa:

Cod:
if(!Hash.count(Y)) Hash.insert(pair<vector<int>, int >(Y, 1));
else Hash[Y] ++;

foloseste < 1 mb de memorie?
« Ultima modificare: Iunie 01, 2013, 07:02:01 de către Pop Tiberiu » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #4 : Iunie 01, 2013, 02:34:49 »

Nu stiu exact de ce se intampla asa sau macar ce cere problema, dar ar trebui sa ai in vedere ca operatiile principale pe un map au complexitate logaritmica. Daca vrei complexitate medie constanta ar trebui sa folosesti unordered_map.
Memorat

Am zis Mr. Green
poptibi
Strain
*

Karma: 35
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #5 : Iunie 01, 2013, 06:54:21 »

Nu stiu exact de ce se intampla asa sau macar ce cere problema, dar ar trebui sa ai in vedere ca operatiile principale pe un map au complexitate logaritmica. Daca vrei complexitate medie constanta ar trebui sa folosesti unordered_map.
Ok, multumesc!

Imi cer scuze in legatura cu memoria, folosesc > 32 mb daca fac X += Hash[Y], dar folosesc < 1 mb daca fac X += (Hash.count(Y) ? Hash[Y] : 0).  Embarassed
« Ultima modificare: Iunie 01, 2013, 07:00:58 de către Pop Tiberiu » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #6 : Iunie 01, 2013, 22:50:07 »

Pentru ca map-ul salveaza valoarea 0 pentru cheia Y daca o astfel de cheie nu exista deja.
Memorat

Am zis Mr. Green
poptibi
Strain
*

Karma: 35
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #7 : Iunie 01, 2013, 22:59:42 »

Pentru ca map-ul salveaza valoarea 0 pentru cheia Y daca o astfel de cheie nu exista deja.
Multumesc!  Thumb up
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines