Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1300 Tamplar  (Citit de 5103 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« : Mai 11, 2012, 22:25:55 »

Aici puteti discuta despre problema Tamplar.
Memorat
vendetta
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #1 : Mai 14, 2012, 22:01:59 »

Ceva idei pentru 100 ?
i-au 80 cu tle pe ultimele 2
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #2 : Mai 14, 2012, 22:05:51 »

In ce baza lucrezi? Lucreaza intr-o baza mai mare.  Smile
Memorat
vendetta
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #3 : Mai 15, 2012, 19:09:45 »

in baza 10.
am incercat si in 256 dar (cred ca greseala e a mea), pe testul maxim imi i`a mult mai mult decat in baza 10
Memorat
scipianus
Nu mai tace
*****

Karma: 129
Deconectat Deconectat

Mesaje: 345



Vezi Profilul
« Răspunde #4 : Mai 15, 2012, 19:14:40 »

Raspunsul pentru L=10000 in baza 10 are (din cate tin minte) vreo 35000 cifre. Pentru 100pct este recomandat sa faci inmultirile in baza 10^4 Thumb up
Memorat
vendetta
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #5 : Mai 15, 2012, 19:31:08 »

la fel si cu baza 10^4. Confused
Memorat
S7012MY
Nu mai tace
*****

Karma: 26
Deconectat Deconectat

Mesaje: 648



Vezi Profilul
« Răspunde #6 : Mai 15, 2012, 21:40:30 »

Eu am lucrat in concurs cu o baza mai mare de 10^4 si tot nu intra in timp. Probabil trebuie sa precalculezi unele chestii
Memorat
visanr
Nu mai tace
*****

Karma: 168
Deconectat Deconectat

Mesaje: 213



Vezi Profilul
« Răspunde #7 : Mai 15, 2012, 21:48:29 »

Nu ai nevoie de precalculari, pur si simplu faci factorialul cu baza 10^4 si iei 100 Very Happy
Memorat
Vman
Echipa infoarena
Vorbaret
*****

Karma: 45
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #8 : Mai 16, 2012, 11:02:18 »

@Petru: tu pentru fiecare inmultire aloci cate un vector, il parcurgi pe tot ca sa il initializezi, si apoi il copiezi inapoi deci practic il parcurgi inca odata pe tot, faci de vreo 3-4 ori mai multe operatii decat este necesar.

Si ca observatie suplimentara nu iti recomand sa faci

Obiect ceva()
{
 Obiect a;
 bla bla bla;
 return a;
}

pt ca ai mari sanse fie sa o dai in balarii in functie de ce faci dupa, fie sa trebuiasca copiat un Obiect intreg ceea ce poate fi costisitor, pentru ca dupa iesirea din functie a este distrus, fiind alocat static.
E bine ca macar in arhiva de probleme sa incercati sa scrieti codul cap-coada, fara clase si template-uri de-a gata sau luate de prin arhiva educationala, pt ca la olimpiada aveti doar stl-ul si cam atat.
Memorat
spatarel
Strain
*

Karma: 31
Deconectat Deconectat

Mesaje: 37



Vezi Profilul WWW
« Răspunde #9 : Mai 16, 2012, 21:04:41 »

@Duta Vlad:
Eu sunt autorul clasei Huge la care ai facut referire. Cu certitudine mai poate fi imbunatatita.

Inteleg ca nu aprobi o implementare de forma:
Obiect ceva()
{
 Obiect a;
 bla bla bla;
 return a;
}

din motive de performanta.

Am doua intrebari:
(1) Cum poti implementa mai bine supraincarcarea operatorilor?
(2) La ce te referi cand spui ca "ai sanse mari sa o dai in balarii"? (presupunem constructorul de copiere implementat corect si eficient)
Memorat

Atat am avut de spus
Vman
Echipa infoarena
Vorbaret
*****

Karma: 45
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #10 : Mai 16, 2012, 22:31:23 »

Personal nu sunt de acord, de fapt sunt chiar impotriva supraincarcarii operatorilor. Mi se pare ca mai degraba duce la confuzii decat la un cod mai clar.

1. Respectand toata aritmetica operatiilor nu stiu daca se poate implementa mai bine. Daca vorbim de un proiect o clasa de numere mari e o abordare excelenta, dar pentru probleme de concurs se vede ca performanta nu e aceeasi. Si pana la urma intr-o problema e vorba de 2-3 operatii pe numere mari, ar trebui sa dureze maaaxim 2 minute implementarea fiecareia.

2. daca functioneaza corect constructorul de copiere nu ar trebui sa fie probleme, e doar mai lent (din nou vorbesc in contextul unui concurs de programare). Problema cu balariile e cand ai alocare dinamica in Obiect si copy-constructorul este cel default, sau cand dimensiunea variabilei Obiect depaseste limita stivei.
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #11 : Mai 27, 2012, 12:33:03 »

Uite sursa de 100 pct. http://infoarena.ro/job_detail/751912, am modificat doar baza 104 si la oepratia de inmultire cu un numar din long long am facut int, ceea ce face mai rapide operatiile.
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #12 : Iunie 01, 2012, 21:41:29 »

Explicati-mi va rog si mie cum se face inmultirea in baza 10^4, dupa asta ar trebui de facut iarasi conversia in baza 10, care iarasi i-a ceva timp, sau nu-mi dau seama de anumite lucruri  Brick wall Confused
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #13 : Iunie 01, 2012, 21:51:48 »

Exact ca si la baza 10, doar ca pentru o cifra verifici daca nu depasesti 10^4 in loc de 10. La afisare trebuie sa pui niste 0-uri in fata cifrei daca valoarea ei nu are destule cifre (de exemplu, unde ai 1 vei afisa 0001).
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #14 : Iunie 02, 2012, 08:49:47 »

Ms mult acum am inteles  Very Happy Yahoo!
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #15 : Martie 10, 2013, 23:52:36 »

Imi poate spune si mie cineva cum imi poate da TLE pe ultimele 2 teste daca am implementat chiar si in baza 10^14 ?
Memorat
misino
Strain
*

Karma: 10
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #16 : Martie 12, 2013, 10:51:41 »

Nu crezi ca e baza prea mare si operatiile pe long long se efectueaza mai greu?
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #17 : Martie 12, 2013, 20:03:46 »

Si eu cred la fel dar cu orice baza mai mica iau ori WA ori TLE
Memorat
danalex97
Vorbaret
****

Karma: 54
Deconectat Deconectat

Mesaje: 192



Vezi Profilul
« Răspunde #18 : Martie 15, 2013, 13:41:49 »

@ Alexandru: Nu folosesti int in loc de long long si cred ca te complici cu codul de la inmultire. Ceva de genul ar fi mai usor:

Cod:
void mul(int A[], int B)
{
    int i, t = 0;
    for (i = 1; i <= A[0] || t; i++, t /= 10000)
        A[i] = (t += A[i] * B) % 10000;
    A[0] = i - 1;
}

Succes !

Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #19 : Martie 15, 2013, 23:04:11 »

Mersi de sugestie, am implementat-o dar tot 80p cu TLE pe ultimele 2 teste.  Cry
Memorat
danalex97
Vorbaret
****

Karma: 54
Deconectat Deconectat

Mesaje: 192



Vezi Profilul
« Răspunde #20 : Martie 16, 2013, 14:46:08 »

Daca doresti iti pot trimite sursa mea. Totusi din cate vad ar fi in regula daca s-ar mari putin limita de timp.  Smile
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #21 : Martie 17, 2013, 16:25:23 »

Daca poti chiar te-as ruga sa-mi trimiti ceva corect ca de sursa mea dubioasa m-am saturat. Mersi!
Memorat
fulgerulnegru
Client obisnuit
**

Karma: -17
Deconectat Deconectat

Mesaje: 92



Vezi Profilul
« Răspunde #22 : Noiembrie 21, 2014, 17:01:35 »

Am facut rezolvarea cu java si iau doar 10p Sad((. E cu BigInteger si  e algoritmul standar la n factorial
Memorat
Vman
Echipa infoarena
Vorbaret
*****

Karma: 45
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #23 : Noiembrie 22, 2014, 09:49:40 »

writer.close()

Daca nu inchizi descriptorul exista sansa ca ceea ce afisezi sa ramana in buffer  Shame on you
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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