|
•blasterz
|
 |
« Răspunde #1 : Februarie 28, 2008, 17:56:17 » |
|
" De asemenea, o a treia metoda este explicata pe larg in aceasta sursa de 100 puncte. "
Dar ce bine e explicata in sursa...
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #2 : Februarie 28, 2008, 18:02:13 » |
|
Sursa aia chiar merge?  E prea tare. 
|
|
|
Memorat
|
Am zis 
|
|
|
•sima_cotizo
|
 |
« Răspunde #3 : Februarie 28, 2008, 18:04:27 » |
|
Da, e sursa mea de 100. Initial nu voiam sa o pun pe asta la "explicate" dar am fost incurajat ca e "scurta si la obiect"... daca e nevoie am sa scriu si un comment cu o explicatie in ea si o retrimit PS: fisierele ok nu au fost generate cu acea sursa  LE : acum am adaugat si o sursa mai bine explicata, sper ca se intelege ideea de rezolvare.
|
|
« Ultima modificare: Februarie 28, 2008, 19:29:24 de către Sima Cotizo »
|
Memorat
|
|
|
|
•recviem
Client obisnuit

Karma: -26
Deconectat
Mesaje: 62
|
 |
« Răspunde #4 : Martie 01, 2008, 21:24:52 » |
|
Uhm .. sursa asta mie nu imi da pe nici un test.. nici macar 1+2.. iar daca pun o paranteza imi crapa mingw.. L.E. Pe OpenSUSE cu gcc 4.2.1 merge. Imi scapa ceva .. ?
|
|
« Ultima modificare: Martie 01, 2008, 21:48:06 de către Alexandru Pana »
|
Memorat
|
|
|
|
•astronomy
|
 |
« Răspunde #5 : Martie 01, 2008, 23:50:32 » |
|
Da. Pe infoarena nu se foloseste mingw si este posibil ca sursa sa se comporte diferit pe diferite compilatoare.
|
|
|
Memorat
|
|
|
|
•plastik
Strain
Karma: -3
Deconectat
Mesaje: 3
|
 |
« Răspunde #6 : Martie 12, 2008, 17:36:53 » |
|
Am nevoie de putin ajutor la ultimele doua teste.
Pe evaluator iau TLE la ele. Cand am dat si eu testele alea de la atasamente cu time, a mers in 0.107 la unul si 0.115 la al doilea. Are cineva idee cum sa modific sursa asa incat sa ia 100?
Eu fac evaluarea in alt mod, impartind expresia in 2 subexpresii cand intalnesc operanzi sau paranteze. Am luat 100 cu metoda asta la OJI-ul de anul trecut de la a 10-a cu directoare - fun times. Mi se pare foarte usor de inteles.
O pot optimiza cumva, sau trebuie sa invat evaluarea prin recursivitate indirecta?
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #7 : Martie 12, 2008, 18:34:23 » |
|
Tu ai complexitatea O(N^2) daca nu ma insel  ... Ar fi bine sa te uiti pe sursele celorlati si sa inveti cum sa rezolvi problema in O(N) folosind recursivitate indirecta  .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•plastik
Strain
Karma: -3
Deconectat
Mesaje: 3
|
 |
« Răspunde #8 : Martie 12, 2008, 20:13:29 » |
|
Da, acum merge mult mai rapid. Mersi Wef. 
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #9 : Aprilie 24, 2008, 15:12:24 » |
|
Pe aceeasi idee se poate renunta si la recursivitatea indirecta, scurtand mai mult codul, si se poate adapta si pentru a construi un arbore de expresie (care, odata construit, va fi foarte util in anumite probleme). 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•wefgef
|
 |
« Răspunde #10 : Aprilie 24, 2008, 16:29:18 » |
|
Foarte misto sursa 
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•sima_cotizo
|
 |
« Răspunde #11 : Aprilie 24, 2008, 18:11:03 » |
|
Cand am scris sursa mea, m-am gandit sa fie usor de inteles si am scos in afara functia de extragere a unui numar ca sa pastrez simplitatea procedurii de evaluare... imi pare rau ca nu am comentat-o  Pe partea de arbori de expresii, este vreun loc in care acestia sunt mai utili decat evaluarea normala, cu recursivitate indirecta? Oricum, sursa este draguta, cred ca daca o comentezi poate fi adaugata pe pagina problemei, nu ? 
|
|
« Ultima modificare: Aprilie 24, 2008, 19:36:44 de către Sima Cotizo »
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #12 : Aprilie 24, 2008, 19:43:35 » |
|
Am adaugat si cateva comentarii; sper sa fie usor de inteles - mie mi s-a parut ideea super  si cred ca ar merita pusa in pagina cu problema (Sima, editeaza linkul din postul anterior, are de doua ori "http") Referitor la arbori de expresii, eu ii foloseam cand apareau multe schimbari de variabile in expresii, cand trebuia sa transform in forma pre/postfixata expresia (cu arborele construit, asta devine o simpla parcurgere). Se mai pot face dinamici pe arborii de expresie (cate atribuiri valide a variabilelor exista pentru ca o anumita expresie logica sa fie tot timpul adevarata etc). Sigur ca toate problemele astea se pot rezolva si cu evaluari de genul recursivitate indirecta, insa algoritmii mi se par mult mai intuitivi pe arborii de expresie. Poate e doar o chestiune subiectiva... Oricum, am comentat si sursa cu arborii - poate va fi utila cuiva 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•sima_cotizo
|
 |
« Răspunde #13 : Aprilie 24, 2008, 19:58:50 » |
|
 iar eu am adaugat linkurile in pagina problemei. Cred ca asa ar fi frumos, sa se prezinte idei interesante pe marginea temelor propuse in arhiv. educationala. In ultima vreme am vazut ca au aparut comentarii foarte utile si pe topicul pt Algoritmul lui Dijkstra. PS: Lucian, numele meu mic e Cotizo 
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #14 : Aprilie 24, 2008, 20:42:15 » |
|
Multumesc  Intr-adevar, au aparut cateva idei interesante pe topicul referitor la algoritmul lui Dijkstra, poate cei care are drepturi de editare acolo le vor lua in considerare. S-ar putea face si o pagina despre Bellman-Ford - dar deja discutia devine off-topic. In privinta numelui, imi pusesem si eu intrebarea, insa n-am insistat prea mult pentru a gasi un raspuns  - scuze pentru confuzie 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•wefgef
|
 |
« Răspunde #15 : Aprilie 24, 2008, 21:19:29 » |
|
Am modificat pagina de la dijkstra  .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Marius
|
 |
« Răspunde #16 : Aprilie 24, 2008, 22:53:54 » |
|
Eu folosesc http://en.wikipedia.org/wiki/Shunting_yard_algorithm pentru evaluarea expresiilor. Cei care nu pricep recursivitatea indirecta (ca mine) il pot folosi pe acesta.
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #17 : Aprilie 25, 2008, 10:00:52 » |
|
Foloseam si eu asta la inceput, numai ca tot codul devine destul de stufos. Cu recursivitate, procedura are vreo 15 linii 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•jean
Strain
Karma: 2
Deconectat
Mesaje: 10
|
 |
« Răspunde #18 : Februarie 13, 2009, 18:26:31 » |
|
o intrebare : poate fi cv de genul 2-(-2) sau 2*(-2) ? 
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #19 : Februarie 13, 2009, 18:55:40 » |
|
Da.
|
|
|
Memorat
|
Am zis 
|
|
|
•alexandru92
|
 |
« Răspunde #20 : Martie 26, 2009, 11:41:07 » |
|
Cum as putea sa mai obtimizez algoritmul ?? Ia 2 TLE, unu pestul 9, altul pe testul 10 Sursa este aici. Eu am implemetat Shunting-yard algortihm.
|
|
|
Memorat
|
|
|
|
|
•rupra
Strain
Karma: 0
Deconectat
Mesaje: 6
|
 |
« Răspunde #22 : Martie 26, 2009, 17:18:22 » |
|
fgets citeste si "\n"
|
|
|
Memorat
|
|
|
|
•andrei-alpha
Client obisnuit

Karma: 103
Deconectat
Mesaje: 91
|
 |
« Răspunde #23 : Martie 26, 2009, 21:17:20 » |
|
Da
|
|
|
Memorat
|
|
|
|
•rupra
Strain
Karma: 0
Deconectat
Mesaje: 6
|
 |
« Răspunde #24 : Martie 26, 2009, 22:05:17 » |
|
ma bucur ca am suporteri
|
|
|
Memorat
|
|
|
|
|