Afişează mesaje
|
Pagini: 1 ... 3 4 [5] 6 7
|
107
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 435 Eliminare
|
: Iulie 31, 2007, 19:59:35
|
Si cum as putea face asta?
Eu m-am gandit sa aflu cate elemente au fost eliminate in intervalul [1, x] si [1, y] cu un arbore, si apoi query-ul pt maxim sa-l fac in intervalul [x+eliminate_in1-x, y+eliminate_in1-y]... dar asa si pe cele 2 teste care intra in timp iau WA, deci nu e bine...
|
|
|
110
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 258 Alpin
|
: Iulie 18, 2007, 20:30:59
|
Mi-ati putea explica mai exact un pic cum trebuie folosita memoizarea la problema asta? Eu am o matrice b, unde b[ i][j] = lungimea maxima pana in punctul [i,j]... si calculez matricea asta recursiv, dar iese din timp pe testul 4. Pe un test cu structura celui dat de filipb, se fac intr-adevar foarte multe apeluri recursive, mult mai multe decat n^2.
Stiu ca memoizarea se poate folosi in calcularea functiei fibonacci, de exemplu, pentru a evita recalcularea de mai multe ori a aceleiasi valori in apeluri recursive. Aici insa eu nu vad cum m-as putea folosi de tehnica asta...
|
|
|
111
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 102 Lanterna
|
: Iulie 15, 2007, 22:35:31
|
Pai fac bellman ford.. Adica bag un nod in coada de fiecare data cand ii pot imbunatati costul, daca nu se afla deja in coada, si daca pot ajunge la el cu energia ramasa. Astfel, fiecare nod poate sa fie in coada de maxim n ori. Chiar daca se blocheaza a doua varianta, pentru un w mai mare tot voi avea posibilitatea sa merg pe primul drum... desi asta numai daca costul energetic al unei deplasari nu este mai mare decat k Daca este... da, cred ca as pica pe un asemenea test...
|
|
|
112
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 102 Lanterna
|
: Iulie 15, 2007, 21:30:43
|
Eu nu am facut cu matrice... eu tin doi vectori d si en, d[ i] = distanta minima pana in nodul i ( daca nu se poate ajunge cu o lanterna de valoare w, atunci este infinit ) si en[ i] = energia ajunsa pana in nodul i. Cand vreau sa expandez un nod din coada, ma folosesc de vectorii astia...
O sa incerc s-o fac si cu matrice, vad ca nu vrea nicicum cum m-am gandit eu...
|
|
|
115
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial
|
: Iulie 11, 2007, 16:09:06
|
Mai poate sa iti cicleze cautarea binara. Daca faci cautare binara in intervalul [a, b], si ai ceva de genu while ( a <= b ), a poate sa nu-l depaseasca niciodata pe b pe unele cazuri, si atunci iti va cicla. Poti rezolva asta ori punand un break daca se intampla asta, ori avand grija la cum modifici valorile a si b astfel incat sa nu se intample chestia asta...
|
|
|
116
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 180 Drumuri minime
|
: Iulie 07, 2007, 22:16:20
|
Mie imi da 5 4 3 4 cu sursa de 100... care-i raspunsul pana la urma?
1 1 3 4 eu zic ca sigur nu-i corect. De la nodul 1 pana la 2 sunt clar mai multe drumuri ( 1 - 2, 1 - 4 - 2, 1 - 5 - 4 - 2, 1 - 5 - 4 - 3 - 2, 1 - 4 - 3 - 2, daca am facut bine )
Nici mie nu imi da bine pentru celelalte noduri.. oricum nu cred ca are importanta, ca se precizeaza ca nu poate exista un cost mai mic ca 2.
|
|
|
118
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 015 Permutari II
|
: Iulie 04, 2007, 20:11:21
|
Imi dati va rog un indiciu pt teste 1 5 si 10? Iau TLE.. si nu prea stiu cum sa scap de el.. Aflu pentru fiecare numar in cati pasi ajunge pe pozitia finala, avand un while care il intoarce pe p1[p1[p1[...]]]... si apoi fac cmmmc al acestor numere. Si daca scot cmmmc-ul, tot da TLE pe testele alea. Am incercat sa tratez particular cazul 2 3 4 ... n 1 dar tot nu vrea... Cum as putea face mai eficient?
|
|
|
120
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 346 Padure
|
: Iulie 02, 2007, 19:42:02
|
Eu parca am folosit ~14 mega pe ultimul test. Ideea a fost sa am o functie recursiva care sa ma "scoata" din zonele cu acelasi numar pe ele, fara a le mai baga din nou in coada. Poate te ajuta asta.
Alta ideea ar fi sa faci coada dinamica, sub forma de lista inlantuita. Daca p e inceputul, cand mergi in p->next, il stergi pe p. Nu stiu daca te ajuta la problema asta... mie mi-a mers cu coada facuta pe vector si functie recursiva asa ca nu am mai implementat si asa.
|
|
|
125
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 359 Vecini
|
: Iunie 07, 2007, 19:39:12
|
Eu nu inteleg cum sta treaba cu acele conditii pentru ca un etaj sa fie liber sau ocupat... daca anul trecut etajul curent si etajul de dedesubt au fost ocupate, atunci etajul va fi liber anul acesta ... Anul trecut etajul curent nu exista... nu? Daca in fiecare an se adauga un etaj, in anul X-1, etajul X nu exista. Vrea sa spuna cumva "ultimul etaj" sau ce?
|
|
|
Pagini: 1 ... 3 4 [5] 6 7
|
|