Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1218 Edist  (Citit de 1381 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« : Octombrie 17, 2011, 16:02:12 »

Aici puteţi discuta despre problema Edist.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #1 : Noiembrie 10, 2011, 15:40:17 »

Se poate optimiza programul cumva in functie de k? Huh Iau tle pe ultimele 3 teste...
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #2 : Noiembrie 10, 2011, 15:51:00 »

Da citeste solutiile oficiale.
Memorat
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #3 : Noiembrie 11, 2011, 22:37:16 »

Cum sa fie coloane intre intervalul i-k si i+k daca i merge pana la n???
si nu trebuie |i-k| ?
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #4 : Noiembrie 12, 2011, 09:44:36 »

Fii atent, al doilea for tu il ai de la 1 -> N, si cum iti spune ca rezultatul e maxim K, de aici rezulta ca pentru orice linie i, nu trebuie sa parcurgi coloanele de la 1 -> N, ci doar de la i - K pana la i + K, ceea ce este in afara acestor coloane (adica coloanele din intervalul [1, i - K) si (i + K, N] au valoarea > K). Deci trebuie doar sa modifici dinamica, si ... cam asta e.
Memorat
noru
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #5 : Februarie 29, 2012, 09:16:33 »

iau 90 cu WA la testul 7 Confused ce e asa special la el ?
Memorat
horeste12
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #6 : Aprilie 06, 2012, 23:19:22 »

Primesc SIGABRT daca trimit o sursa care are modificat doar un for:
In loc de
Cod:
for(int j=i-k;...)
In cea cu SIGABRT este
Cod:
for(int j=(i-k>1?i-k:1);...)
In rest este identica cu alta care ia 80 de puncte. De ce ? Acelasi lucru se intampla si daca fac o functie de maxim si scriu
Cod:
for(int j=maxim(i-k,1);...)
sau daca scriu
Cod:
int j=i-k;
if(j<1)
  j=1;
for(;...)
cod complet al for-ului:
Cod:
for(int i=1;i<=n+1;i++)
{
for(int j=i-k;j<=minn(i+k,m+1);j++)
{
if(s1[i-1]==s2[j-1])
d[1][j]=d[0][j-1];
else
d[1][j]=minim(d[0][j],d[0][j-1],d[1][j-1])+1;
}
regulate(i);
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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