•domino
|
|
« : Februarie 21, 2005, 19:53:33 » |
|
Aici puteţi discuta despre problema Subsir.
|
|
|
Memorat
|
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #1 : Martie 18, 2005, 18:02:29 » |
|
am luat de mai multe ori 80 p la problema asta si pana la urma mi-am dat seama ca problema era de la citire:
while not eoln(f) do begin inc(n); read(f,a[n]); end; readln(f); while not eoln(f) do begin inc(m); read(f,b[m]); end; while not (a[n] in ['a'..'z']) do dec(n); while not (b[m] in ['a'..'z']) do dec(m);
Scuze pentru cod, dar dupa ce am adaugat ultimele 2 linii am luat 100. De ce? E o chestie de linux? Nu vad ce ar putea sa fie specific la testele 6 si 9 parca. Clarificati-ma si pe mine daca puteti.
|
|
|
Memorat
|
|
|
|
VladS
Vizitator
|
|
« Răspunde #2 : Martie 23, 2005, 13:48:28 » |
|
Matricea Nr[][] cu ce o initializezi?
|
|
|
Memorat
|
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #3 : Martie 23, 2005, 14:32:08 » |
|
nr[i,j]=1 daca a[i,j]=1 si x=y[j] altfel calculezi
|
|
|
Memorat
|
|
|
|
•Matrix
Strain
Karma: -3
Deconectat
Mesaje: 41
|
|
« Răspunde #4 : Martie 24, 2005, 12:20:52 » |
|
cum ai facut aici ?? "daca exista pozitiile x si y astfel incat A - = A = B[y] = B[j], se aduna Nr[j] doar daca x < i si y < j"
|
|
|
Memorat
|
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #5 : Martie 24, 2005, 13:21:39 » |
|
Sa zicem ca sirurile tale sunt a si b de lungime n si m. Am verificat daca i si j sunt ultimele pozitii la care apare caracterul a in sirurile tale, lucru care il faci in O(1) adica ai pa[n,a]=i si pb[m,b[j]], pa[i,c] este ultima aparitie a caracterului c in primele i caractere ale lui a(la fel si pt pb). Atunci adaugi nr[i,j] la rezultat.
|
|
|
Memorat
|
|
|
|
•cos_min
|
|
« Răspunde #6 : Mai 08, 2005, 12:28:29 » |
|
la exemplu ala dat in problema, restu' nu ii 0??
|
|
|
Memorat
|
vid...
|
|
|
•ParrAzitU
Client obisnuit
Karma: 0
Deconectat
Mesaje: 73
|
|
« Răspunde #7 : Mai 08, 2005, 13:47:40 » |
|
Pai singurul subsir de lungime maxima e "ana" deci ai 1 subsir. Restul impartirii lui 1 la 666013 e 1 adica 1 / 666013 = 0 , rest 1 cu alte cuvinte, 1 = 0 * 666013 + 1
|
|
|
Memorat
|
I'll be smiling as I decompose - the reaper awaits us all.
|
|
|
•tm_radu
|
|
« Răspunde #8 : Iunie 24, 2005, 14:59:16 » |
|
Daca rezultatul il obtin insumand toate valorile nr[j] calculate, asta nu inseamna ca adun toate subsirurile comune si nu numai cele de lungime maxima?
mai trebuie pusa si conditia ca c[j] = lmax, unde lmax e lungimea subsirului comun maximal.
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•tm_radu
|
|
« Răspunde #9 : Iunie 26, 2005, 22:45:55 » |
|
am facut cu matricea nr[j] a numarului de subsiruri comune de lungime maxima si primesc WA la testul 9. Mi-l puteti da si mie sa vad ce am gresit?
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•tm_radu
|
|
« Răspunde #10 : Iunie 30, 2005, 15:33:54 » |
|
NU vreau sa par enervant, dar cred ca am implementat bine ( avand in vedere ca am luat 90 de pcte ) dar tot nu iau testu 9. Ii ceva special la el?
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•silviug
|
|
« Răspunde #11 : Iunie 30, 2005, 19:27:35 » |
|
Ce test pici ?
|
|
|
Memorat
|
"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
|
|
|
cristi8
Vizitator
|
|
« Răspunde #12 : Iunie 30, 2005, 19:29:13 » |
|
|
|
|
Memorat
|
|
|
|
•silviug
|
|
« Răspunde #13 : Iulie 01, 2005, 08:23:00 » |
|
Pe testul 9 (l-am rulat la mine pe calculator) programul tau afiseaza un numar negativ (!!?).
M-am uitat pe sursa si, probabil, e de la faptul ca faci modulo doar la urma, rezultatele intermediare putand depasi long int. Aceasta problema se rezolva transformand toate operatiile din operatii "normale" in operatii "modulo" numarul dat.
Spor la treaba!
Silviu
|
|
|
Memorat
|
"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
|
|
|
•tm_radu
|
|
« Răspunde #14 : Iulie 02, 2005, 22:17:11 » |
|
Mersi. am luat 100. Raman dator cu o bere
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•wefgef
|
|
« Răspunde #15 : Iulie 22, 2005, 17:58:46 » |
|
imi da si mie cineva un alt test va rog? cel din enunt e prea simplu...
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
u-92
Vizitator
|
|
« Răspunde #16 : Iulie 27, 2005, 16:20:05 » |
|
la problema asta fac asa: adun nr[j] cand a=b[j] si lg[j]=lgmax si use[a]=0; pe use[a] il fac 1.. adica o singura data pot sa am caracterul 'a' pe ultima pozitie a unui sir maxim.. si iau doar 40 poate sa ma ajute cineva? nu-mi dau seama de eroarea din algoritm
|
|
|
Memorat
|
|
|
|
•tm_radu
|
|
« Răspunde #17 : Iulie 29, 2005, 18:04:16 » |
|
uite un exemplu : subsir.in abcabcaa acbacba
subsir.out 7
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
u-92
Vizitator
|
|
« Răspunde #18 : Iulie 31, 2005, 10:23:03 » |
|
tot 7 imi da si mie
|
|
|
Memorat
|
|
|
|
•Cosmin
|
|
« Răspunde #19 : Iulie 31, 2005, 11:11:58 » |
|
Vezi ca a fost o problema similara la CEOI parca in 2003, nu mai tin minte exact, ai putea folosi testele de acolo ca sa vezi daca iti merge solutia pe ele.
|
|
|
Memorat
|
|
|
|
u-92
Vizitator
|
|
« Răspunde #20 : Iulie 31, 2005, 13:31:51 » |
|
am modificat putin sursa si am pus conditia cu ultima aparatie, conditia pusa inainte era gresita.. si toate testele de la ceoi le iau.. sa vad acum cand revine evaluatorul ce se intampla totusi.. iau doar 70, pic testele 7, 8 si 9
|
|
|
Memorat
|
|
|
|
•cristy
|
|
« Răspunde #21 : Februarie 10, 2006, 11:29:42 » |
|
am citit solutia oficiala, dar nu am inteles o kestie, cu ce se initializeaza matricea Nr? adica, am vazut ca la un moment dat, aduni Nr[ii][jj] la Nr[j], dar daca Nr[ii][jj]=0, ce faci?
|
|
|
Memorat
|
... lipsa de inspiratie ...
|
|
|
•Marius
|
|
« Răspunde #22 : Februarie 10, 2006, 11:36:56 » |
|
nr[i,j]=1 daca a[i,j]=1 si x=y[j] altfel calculezi
A zis gogu mai sus!
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•cristy
|
|
« Răspunde #23 : Februarie 10, 2006, 11:43:18 » |
|
scuze...am scris fara sa citesc...ce era inainte, da tot nu am inteles, x si y sunt sirurile A si B?
|
|
|
Memorat
|
... lipsa de inspiratie ...
|
|
|
•Marius
|
|
« Răspunde #24 : Februarie 10, 2006, 22:39:58 » |
|
nr [j] = 1 daca cmls[j] = 1 si A = B[j], altfel calculezi cum zice in solutia oficiala
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
|