Afişează mesaje
|
Pagini: 1 [2] 3 4 5
|
27
|
infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2014 / Răspuns: Infoarena Monthly 2014, Runda 2
|
: Februarie 21, 2014, 22:31:20
|
Eu iau wrong answer pe doua dintre teste... Am O(N ^ 2) si fac in felul urmator: fixez o lungime k, parcurg un i (1, N) si imi construiesc un vector dp[ i ] = d[i - 1] + (s[ i ] == s[i + k]) La fiecare i verific daca dp[ i ] - dp[i - 2*k] == 2*k, iar in cazul in care e adevarat incrementez solutia... Imi poate da cineva un contra exemplu sau sa imi explice mai detaliat solutia, si anume cum fac in O(1) verificarea daca secv[i, i + 3*k] este triopalindromica?
|
|
|
31
|
infoarena - concursuri, probleme, evaluator, articole / Probleme externe / Almost Shortest Path
|
: Februarie 10, 2014, 19:23:00
|
Buna!
Este cineva care stie sa rezolve si sa imi explice si mie cum s-ar rezolva urmatoarea problema: Dandu-se un graf orientat cu costuri se cere "aproape drumul minim" dintre nodurile S si D din acest graf. Drumul acesta este definit ca drumul de cost minim dintre S si D cu proprietatea ca acest cost este mai mare strict decat costul drumului minim dintre S si D.
Multumesc anticipat!
|
|
|
36
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Recursivitate
|
: Ianuarie 13, 2014, 16:28:54
|
Poi daca ai te-ai fi uitat pe ce ti-am dat si ai fi inteles ti-ai fi dat seama de ce afiseaza aia. O sa trec peste teoria cu stiva si asa. Trebuie sa intelegi o chestie foarte simpla: Cand apelezi o functie programul tau se duce direct la inceputul functiei si abia ce se termina functia asta apelata apoi continua de unde a ramas. Adica tu apelezi asa: 1. F(4) iti intra in else din motive (clare, sper), acum apeleaza F(3): iti intra iarasi in else (din aceleasi motive:)) ), apeleaza F(2)... Interesant este ce se intampla la F(0), intra inf if - ul acela si returneaza valoarea 0. Din cauza faptului ca programul tau a fost apelat de mai multe ori el revine sa "termine" ce are de facut. Adica revine la F[1] ca sa faca instructionile de dupa apelare, adica cout << counter. In cazul nostru afiseaza 1. Se observa ca acum se termina functia. Programul revine la F(2), F(3), F(4), de fiecare data afisand counter-ul. Deci ordinea in care sunt afelate functiile este F(4), F(3)...F(0), iar afisarea e chiar invers. Iti sugerez sa studiezi mai bine (din manual sau de pe net) revursivitatea. Este un concept esential pentru un programator. http://www.infoarena.ro/blog/putina-recursivitateUite poate intelegi din comentariile de la articolul asta. Succes!
|
|
|
43
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2014 / Răspuns: Kami
|
: Decembrie 21, 2013, 09:14:49
|
zapada de pe nivelul i coboara pe nivelul i - 1. Daca cantitatea de zapada de pe nivelul i - 1 este mai mare sau egala decat cantitatea de zapada de pe nivelul i, atunci avalansa se opreste. Daca zapada de pe nivelul i coboara pe nivelul i - 1, atunci nu de fiecare data cantitatea de pe nivelul i - 1 va fi mai mare? L.E. Nevermind, am inteles!
|
|
|
48
|
infoarena - concursuri, probleme, evaluator, articole / Articole / Răspuns: Ciclu hamiltonian in graf dens
|
: Decembrie 03, 2013, 09:23:54
|
Am si eu cateva nelamuriri. Am citit dintr-o carte a doamnei Cerchez despre ciclul hamiltonian in graf turneu. Graful turneu e la grafuri orientate, iar la cele neorientate e graf dens? Daca nu, care e diferenta dintre cele doua notiuni? Tot in cartea respectiva am gasit un algoritm diferit de cel propus in acest articol. Acolo ideea e sa extindem prima data ciclul la stanga, la dreapta si mai apoi sa inseram cate un nod in ciclul actual. Multumesc anticipat!
|
|
|
|