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

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« : Decembrie 14, 2008, 14:27:56 »

Aici puteti discuta despre problema Kprime.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
drag0s93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #1 : Ianuarie 09, 2009, 22:27:17 »

pb asta e corecta? deci rasp ar fi 3 (perechile (1,2),(1,3),(2,3)) Very Happy  .....sau  Raised eyebrow  explikti mi si mie careva ..... Brick wall
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #2 : Ianuarie 09, 2009, 22:30:49 »

1 nu este prim, iar pentru exemplul
Cod:
5 2
1 2 4 3 8
secventele sunt
Cod:
1 2 4 3 8
1 2 4 3
2 4 3 8
2 4 3
Numerele trebuie sa fie pe pozitii consecutive
Memorat
drag0s93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #3 : Ianuarie 09, 2009, 22:32:17 »

aa srry ....da am crezut ca doar nr prime sa fie srry  Brick wall ms  Ok
Memorat
drag0s93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #4 : Ianuarie 09, 2009, 23:31:54 »

mai da ti mi si mie un exemplu am facut pb dar nuj imi da killed by signal..... Brick wall
Memorat
marcelcodrea
Nu mai tace
*****

Karma: 173
Deconectat Deconectat

Mesaje: 217



Vezi Profilul
« Răspunde #5 : Ianuarie 09, 2009, 23:53:59 »

Pentru soluţia problemei Kprime : http://infoarena.ro/algoritmiada-2009/runda-1/solutii#kprime
Pentru mesajele pe care le primeşti de la evaluator : http://infoarena.ro/documentatie/evaluator
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #6 : Ianuarie 10, 2009, 00:14:01 »

mai da ti mi si mie un exemplu am facut pb dar nuj imi da killed by signal..... Brick wall
Poti sa faci tu niste teste si sa le postezi aici, sa vezi care e raspunsul celor care au luat 100.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Ianuarie 10, 2009, 20:53:12 »

Primesti "killed by signal 11" din cauza ca declari o matrice de 10.000 * 10.000 de long long.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
funkydvd
Strain


Karma: -9
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #8 : Mai 15, 2009, 19:03:04 »

Pentru cei interesaţi, problema aceasta se poate rezolva şi în complexitate O(n), cu ajutorul unui vector de frecvenţă.
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #9 : Mai 16, 2009, 05:45:43 »

Sunt curios cum Smile. Ai n log n de la ciur oricum.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #10 : Mai 16, 2009, 07:39:23 »

Ciurul se rezolva in O(N log log N), si in plus numerele sunt mai mici decat 1000, deci complexitatea finala iese O(N) Smile
Memorat
recviem
Client obisnuit
**

Karma: -26
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #11 : Mai 24, 2009, 10:57:09 »

Doar o idee: "Elementele sirului vor cuprinse intre 1 si 1000" se poate folosi un sir de constante pentru ciur.
Memorat
siminescu
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #12 : Iunie 04, 2009, 14:13:45 »

nu ma dragos uita.te la comentariul care e inaintea ta Smile
perechile sunt:
1 2 4 3 8
1 2 4 3
2 4 3 8
2 4 3...
nu conteaza cat de lung este sirul ci conteaza sa aiba 2 nr prime
Memorat
Alexa_ioana_14
Strain
*

Karma: 6
Deconectat Deconectat

Mesaje: 37



Vezi Profilul
« Răspunde #13 : August 25, 2009, 06:55:31 »

Pt sirul: d=(1 2 4 3 Cool am folosit vect v=(0 1 1 2 2), unde v[ i ] reprezinta cate nr prime am pana pe poz i inclusiv si vectorul p=(1 2 2), unde p[ i ] numara cati i am in vectorul v[ i ].
apoi de la 1 la n caut binar x=caut(v[ i ]+m) (daca d[ i ]!=prim) sau x=(v[ i ]+m-1) (daca d[ i ]==prim), iar nr+=p[ v [ x ] ];

pe testele date de mine da bine, dar pe site iau 0pct. Imi poate spune cineva unde gresesc, pls? [ si un contra-exemplu e bun Smile ]
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #14 : August 25, 2009, 11:50:24 »

O solutie simpla este sa retinem intr-un tablou p[] toate pozitile numerelor prime din sirul initial, in ordine crescatoare. Apoi, facem o simpla interatie cu i de la 1 la nr_p (nr_p = numarul elementelor lui p[]) si adaugam la solutie (p[ i ] - p[ i-1 ]) * ( p[j+1] - p[ j ]), unde j = i+K-1, iar p[0] = 0 si p[nr_p+1] = N+1.  Thumb up 
Memorat
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #15 : Septembrie 01, 2009, 12:28:20 »

nu inteleg cum se poate folosi cautarea binara aici....?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #16 : Septembrie 02, 2009, 16:46:54 »

Te ajuta http://infoarena.ro/algoritmiada-2009/runda-1/solutii#kprime .
Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #17 : Februarie 22, 2010, 12:27:48 »

Ce inseamna "Killed by signal 6(SIGABRT)." ? Brick wall
Mentionez ca pe MinGW merge perfect.
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #18 : Iulie 22, 2011, 17:11:46 »

ma ajuta cineva la problema asta, iau WA pe testele grupate si nu inteleg de ce, am facut programul dupa ideea mentionata mai sus de Florian Marcu pentru ca nu ma prea pricep inca la cautare binara, pentru exemplele mele merge bine, dar totusi ""incorect"" Brick wall
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #19 : Iulie 22, 2011, 17:31:17 »

LE: s-a rezolvat doar trebuia sa maresc limitile Yahoo!
Memorat
avram_florin
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #20 : Martie 28, 2012, 20:04:44 »

imi poate spune si mie cineva ce e gresit in abordarea aceasta ca nu ma prind...

Cod:
for(  int i = 1 ; i <= N ; ++i )
{
scanf("%d" , &A[i] );
if( A[i] & 1 )
if( !ciur[A[i]] )
S[i] = S[i-1]+1;
else
S[i] = S[i-1];
else
if( A[i] == 2 )
S[i] = S[i-1]+1;
else
S[i] = S[i-1];
}
int j1,j2,i,Sol;
j1 = j2 = 1;
Sol = 0;
for( i = 1 ; i <= N ; ++i )
if( S[i] >= K )
{
while( S[j2] + K <= S[i] )
++j2;
while( S[j1] + K < S[i] )
++j1;
Sol += (j2-j1+1);
}

Editat de moderator: Folositi tag-ul code cand postati cod sursa.
« Ultima modificare: Martie 28, 2012, 20:20:33 de către Mihai Calancea » Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #21 : Martie 28, 2012, 20:17:40 »

Niste sfaturi: Daca te referi la ideea de rezolvare, atunci nu posta cod, ci expune-o in cuvinte. Daca te referi la implementare, sa faci debug pe codul altcuiva este foarte greu si pana la urma mult mai putin folositor decat daca persoana in cauza l-ar face singur.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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