|
•Mishu91
|
 |
« Răspunde #1 : Ianuarie 03, 2009, 11:27:15 » |
|
As avea doua intrebari in legatura cu containerul 'Map' din STL. 1) Ce reprezinta cei doi parametri de la declarare ( adica de ce este declarat <int, int>)? 2) Este eficient pentru hashuri? Multzam anticipat 
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #2 : Ianuarie 03, 2009, 15:12:45 » |
|
1. Aici folosesti map <int, int> pentru ca vrei sa creezi ascoieri intre doua elemente de tip int (elementul din multime si indicele de ordine). Avantajul principal este ca poti face si map-uri mai complicate folosind stringuri, vectori din STL sau altele (pentru care sa construiesti o functie hash este mai incomod).
2. Nu este destul de eficient pentru a obtine 100 de puncte la aceasta problema, dar de multe ori e de ajuns.
|
|
|
Memorat
|
Am zis 
|
|
|
•gh09
Strain
Karma: -2
Deconectat
Mesaje: 38
|
 |
« Răspunde #3 : Ianuarie 04, 2009, 21:19:33 » |
|
am o nelamurire...in functia erase am chestia asta: w = q; q = q -> next; delete w; daca trimit sursa cu ea imi ia TLE pe un test (nu inteleg dc ca doar e O(1)), daca trimit fara (ceea ce nu este corect intra foarte bine in timp pe testul acela). ma poate ajuta cineva?  inainte aveam chestia asta: # if (q == p) # { # w = p; # p = p -> next; # delete w; # } # else # { # w = q; # q = w -> next; # delete w; # } mi-am dat seama ca e acelasi lucru in if si else si am pus numa ce e mai sus. inainte intra foarte bine in timp....
|
|
|
Memorat
|
|
|
|
•mika17
Strain
Karma: 8
Deconectat
Mesaje: 33
|
 |
« Răspunde #4 : Ianuarie 04, 2009, 22:18:53 » |
|
Aici la hashuri mai intra super frumos si rapid in timp si problema banana http://infoarena.ro/problema/banana
|
|
|
Memorat
|
|
|
|
•crawler
|
 |
« Răspunde #5 : Ianuarie 05, 2009, 19:26:35 » |
|
|
|
|
Memorat
|
|
|
|
•devilkind
|
 |
« Răspunde #6 : Ianuarie 05, 2009, 21:21:42 » |
|
aia de pe sgu a fost bagata la disjoint data set.
|
|
|
Memorat
|
|
|
|
•otilia_s
Strain
Karma: 0
Deconectat
Mesaje: 12
|
 |
« Răspunde #7 : Aprilie 01, 2009, 20:50:42 » |
|
As avea si eu o intrebare in legatura cu memoria heap. Stiu ca pe Windows se puteau aloca maxim 64 Kb. Dar cat este maximul in Linux? Problema mea dadea Killed by signal 11(SIGSEGV) in functie de dimensiunea pe care o alegeam pentru vectorul alocat dinamic (acel modul pentru care calculam n%modul). Cand am dat un numar prim de valoare mai mica problema a luat 100p, desi din cate stiu eu alocam acelasi numar de valori(pt fiecare din valorile inserate alocam spatiu in memorie, indiferent in care lista simplu inlantuita era repartizata). Puteti sa imi explicati si mie, va rog? 
|
|
|
Memorat
|
|
|
|
|
•wefgef
|
 |
« Răspunde #9 : Februarie 03, 2010, 16:22:08 » |
|
Pe gcc 4.3 nu compileaza daca incluzi <hash_set.h>, trebuie inclus <hash_set>.
@echipa-infoarena: Ce ar fi daca am schimba comanda de compilare astfel incat sa includa -std=gnu++0x? Astfel ar putea fi folosite chestii din noul standard, cum ar fi <unordered_set>.
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•popoiu.george
|
 |
« Răspunde #10 : Februarie 03, 2011, 22:43:01 » |
|
Care functie de hash e cea mai buna pentru key numere reale ? Eu folosesc h(x) = [ m * {y*x} ], unde 0<y<1, si m un numar natural. Eu iau m=666013 si y=0.5. [a] - partea intreaga {a} - partea fractionara PS : hash_map si hash_set nu merg cu key double sau float. 
|
|
« Ultima modificare: Februarie 03, 2011, 22:48:30 de către George Popoiu »
|
Memorat
|
|
|
|
•Prostu
|
 |
« Răspunde #11 : Februarie 04, 2011, 00:24:48 » |
|
Care functie de hash e cea mai buna pentru key numere reale ? Eu folosesc h(x) = [ m * {y*x} ], unde 0<y<1, si m un numar natural. Eu iau m=666013 si y=0.5. [a] - partea intreaga {a} - partea fractionara PS : hash_map si hash_set nu merg cu key double sau float.  Acest articol recomanda sa folosesti y = 0.6180339887. In ce sens nu merge sa folosesti hash_map si hash_set cu chei reale? Singura problema ar fi ca nu au o functie de hash definita pentru numere reale, dar o data ce le dai functia pe care ai scris-o, ar trebui sa mearga.
|
|
|
Memorat
|
|
|
|
•https
Strain
Karma: 0
Deconectat
Mesaje: 30
|
 |
« Răspunde #12 : Februarie 18, 2014, 19:11:23 » |
|
De ce in solutia oficiala pentru numarul mod se foloseste 666013 si nu un numar mai mare? Si cum e mai eficient? Sa implementez hashuri cu <list> sau cu <vector>? Multumesc
|
|
|
Memorat
|
|
|
|
•rares96cheseli
Client obisnuit

Karma: 45
Deconectat
Mesaje: 60
|
 |
« Răspunde #13 : Februarie 18, 2014, 20:15:10 » |
|
De ce in solutia oficiala pentru numarul mod se foloseste 666013 si nu un numar mai mare? Si cum e mai eficient? Sa implementez hashuri cu <list> sau cu <vector>? Multumesc
Cu vector. Cu list e si mai incep si consuma si mult mai multa memorie
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #14 : Mai 10, 2015, 10:06:19 » |
|
Poate cineva sa-mi spuna de ce nu iau nici un punct pe sursa mea? Va multumesc
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #15 : Mai 10, 2015, 11:51:04 » |
|
Ai șanse mici să urmărească cineva sursa, e prea lungă. Mai bine descarcă-ți testele și vezi unde crapă. Dacă nu sunt suficient de mici, generează-ți tu câteva, sigur găsești repede unul.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #16 : Mai 11, 2015, 18:55:59 » |
|
Nu credeam ca se pot descarca testele. O sa ma uit mai atent, multumesc.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #17 : Iulie 27, 2015, 18:57:53 » |
|
Eu nu primesc nici un punct... Am descarcat mai toate testele, si am vazut ca obtin raspunsuri corecte. Cel putin la primele trei teste(celelalte sunt huge, pentru a putea fi verificate manual), am obtinut raspuns corect, iar evaluatorul imi da 0...
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #18 : Iulie 27, 2015, 22:22:12 » |
|
Atunci când îți merge local dar iei 0 pe infoarena în 90% din cazuri chiar faci ceva greșit, dar probabil comportamentul e nedefinit. Uită-te după out-of-bound access și alte chestii de genul ăsta. Ai și un warning destul de urât.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #19 : Iulie 27, 2015, 23:34:57 » |
|
Multumesc pentru raspuns Sa vedem ce rezolv...
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #20 : Iulie 28, 2015, 11:07:45 » |
|
Multumesc pentru raspuns Sa vedem ce rezolv... [EDIT]: Chiar nu inteleg ce gresesc. Am verificat pentru out-of-bonds access, si nu pare sa am. Folosesc aceleasi "setari" la compilarea sursei, ca si evaluatorul infoarena.
|
|
|
Memorat
|
|
|
|
•SebiSebi
|
 |
« Răspunde #21 : Iulie 28, 2015, 13:12:03 » |
|
Fii atent la cum faci citirea. Trebuie sa specifici un mod atunci când folosești fstream.open(). Tie nu iti citește nimic și de asta iei incorect. Uita-te și pe timpii foarte mici (4 ms)  . Am luat 100 cu sursa ta modificând deschiderea fișierului în ifstream fin("hashuri.in").
|
|
|
Memorat
|
|
|
|
•whoiscris
Strain
Karma: 0
Deconectat
Mesaje: 3
|
 |
« Răspunde #22 : Octombrie 23, 2016, 01:49:06 » |
|
solutie in C++ cu map si P containere set. Smooth! 
|
|
|
Memorat
|
|
|
|
•mihai.alpha
Strain
Karma: 0
Deconectat
Mesaje: 16
|
 |
« Răspunde #23 : Ianuarie 30, 2017, 10:00:38 » |
|
Cea mai usoara solutie fara map si set: solutie cu std::vector. Am scos cu tot cu parsare 300ms pe cel mai rau test 
|
|
|
Memorat
|
|
|
|
•Steff94
Strain
Karma: 0
Deconectat
Mesaje: 2
|
 |
« Răspunde #24 : Mai 13, 2018, 20:54:34 » |
|
https://infoarena.ro/job_detail/2203975Testele descarcate functioneaza in Visual Studio cu outputul corect. Compilatorul de pe infoarena da incorect la toate testele.
|
|
|
Memorat
|
|
|
|
|