Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1021 Diff  (Citit de 2623 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« : Aprilie 13, 2010, 15:35:54 »

Aici puteţi discuta despre problema Diff.
Memorat

Am zis Mr. Green
6301263
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #1 : Octombrie 10, 2010, 17:30:18 »

cat se ia pe bkt?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #2 : Octombrie 11, 2010, 19:16:15 »

Nu inteleg de ce ai vrea sa bagi back la problema asta. Solutia triviala e destul de evidenta. Ia si rezolv-o de 100 daca doresti intr-adevar sa inveti ceva. Succes!
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #3 : Noiembrie 13, 2010, 11:03:28 »

Salut! Am un sir de numere formate din -1 si 1, si trebuie sa gasesc un interval [i, j] a.i suma elementelor A, A[i+1], ... A[j - 1], A[j] sa fie egala cu T.Imi poate explica cineva mai pe larg cum procedez? Smile
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #4 : Noiembrie 13, 2010, 22:22:27 »

Salut! Am un sir de numere formate din -1 si 1, si trebuie sa gasesc un interval [i, j] a.i suma elementelor A, A[i+1], ... A[j - 1], A[j] sa fie egala cu T.Imi poate explica cineva mai pe larg cum procedez? Smile
Pai in O(N^2+M) ai putea sa calculezi sumele partiale pentru vectorul A[]  si la pasul i din cei N pasi ai putea afla toate sumele care se termina pe pozitia i si incep pe pozitia j<=i si sa retii intr-un Hash daca o suma a putut fi calculata sau nu.
Bineinteles apoi raspunzi in O(1) la fiecare query.
Idee de 100 de puncte este sa vezi anumite sume sunt calculate(de pana la N/2 ori) de mai multe ori.


Hint: gandeste-te la faptul ca daca la pasul i, suma[i ]=s, atunci la pasul i+1, suma[ i ]=s-1 sau suma[i ]=s+1(numere consecutive). Deci care din sumele partiale calculate la pasii anteriori ar putea,scazute din suma[i+1], sa genereze o suma care sa nu existe in hash(tinand cont ca si sumele deja intrate in hash sunt numere consecutive)?
« Ultima modificare: Noiembrie 13, 2010, 22:33:56 de către Dragos » Memorat
valen.valentin
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #5 : Septembrie 10, 2014, 16:51:03 »

E posibil de scos 100 in pascal? Read This!
Memorat
valen.valentin
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #6 : Septembrie 10, 2014, 16:52:48 »

E posibil de scos 100 in pascal? Read This!

La ONI era 0.3 secunde
Memorat
Djok
Client obisnuit
**

Karma: 10
Deconectat Deconectat

Mesaje: 71



Vezi Profilul
« Răspunde #7 : Septembrie 10, 2014, 17:41:57 »

Sunt câteva surse în pascal cu punctaj maximal. Probabil trebuie să mai optimizezi ceva.
Memorat
mariak
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #8 : Decembrie 31, 2015, 15:00:09 »

Poate sa imi explice cineva, va rog, de ce aceeasi sursa ia 100p pe .campion si 0p pe infoarena
Nu inteleg ce e gresit ma induce in eroare punctajul de pe campion  Fighting   Brick wall Brick wall
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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