•wefgef
|
|
« Răspunde #125 : Februarie 13, 2007, 19:19:54 » |
|
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•sima_cotizo
|
|
« Răspunde #126 : Februarie 13, 2007, 21:57:25 » |
|
Nu am precalculat...doar ca am declarat un vector cu 78498 de constante Daca tu ai precalculat numerele prime, poti sa faci fara constante in O(NlogN) folosind ciurului lui Eratostene. Parca ciurul din articol e O(N) [ adica O(sqrt(N) * sqrt(N) )] ... plus o parcurgere a intregului sir unde marchezi daca e prim sau nu [ inca O(N) ]... L-am inteles eu gresit?
|
|
|
Memorat
|
|
|
|
•peanutz
|
|
« Răspunde #127 : Februarie 14, 2007, 14:23:41 » |
|
Eu am o alta problema. Nu inteleg de ce vector de constante, eu la precalculari folosesc vector normal. Nu-mi explica si mie careva care e treaba? Va rog
|
|
|
Memorat
|
....staind....
|
|
|
•devilkind
|
|
« Răspunde #128 : Februarie 14, 2007, 14:49:23 » |
|
pai cred ca nu precalcula programul acele nr prime. Cred ca si-a facut un progam separat care a scris in sursa programului sau const int prime[9901] = {2,3,5,7,11 bla bla bla} astfel a obtinut si acea marime astronomica a sursei. La urma urmei asa poti sa rezolvi aproape orice problema de pe infoarena facand un back care sa iti calculeze rezultatu ptr n luand valori de la 1 la nmax si sa iti scrie apoi in sursa unui alt program a[ x ]=rez; x - o valoare intre 1 si nmax iar rez fiind rezultatul intors de back ptr valoarea x . Ce idee smekera )
|
|
« Ultima modificare: Februarie 14, 2007, 15:13:15 de către Savin Tiberiu »
|
Memorat
|
|
|
|
•peanutz
|
|
« Răspunde #129 : Februarie 14, 2007, 14:57:40 » |
|
Mi-e clar ca si-a generat nr prime cu un alt program. Intrebarea mea e de ce const int? Ce ar avea mai special? ...sau e doar asa de 'fitze'
|
|
|
Memorat
|
....staind....
|
|
|
•devilkind
|
|
« Răspunde #130 : Februarie 14, 2007, 15:14:31 » |
|
sincer sa fiu nush dak e vreun avantaj la memorie sau timp, doar ca dak il declari const int atunci zona de memorie va fi read only dar cum am mai zis nush dak ofera vreun avantaj.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #131 : Februarie 24, 2007, 14:27:47 » |
|
am si eu o intrebare.cum se pun constantele alea in sursa?ca doar nu introduci 78498 numere prime manual?sau le ati luat din fisierul ala cu primele 100000 numere prime?
|
|
|
Memorat
|
|
|
|
•azotlichid
|
|
« Răspunde #132 : Februarie 24, 2007, 14:36:24 » |
|
Daca tii neaparat sa iti declari un vector de constante, poti sa iti faci un program care sa iti genereze respectiva bucata de cod. Oricum, la concursuri nu vei avea de unde altundeva sa iti iei fisiere cu numere prime. Cu toate astea e de preferat (pentru eleganta si simplitate) sa iti construiesti vectorul de numere prime direct in sursa cu un ciur micut care se implementeaza in cateva linii
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #133 : Februarie 24, 2007, 15:20:12 » |
|
si cum faci programelul ala?nu,eu am facut problema ,dar intreb asa ca fapt divers.
|
|
|
Memorat
|
|
|
|
•filipb
|
|
« Răspunde #134 : Februarie 24, 2007, 15:56:10 » |
|
Pur si simplu faci un program care sa genereze numerele prime si sa le scrie intr-un fisier oarecare ( cu , intre ele eventual), si le copii din fisierul respectiv in codul tau sursa.
|
|
|
Memorat
|
|
|
|
•Darth_Niculus
|
|
« Răspunde #135 : Februarie 24, 2007, 16:00:29 » |
|
si cum faci programelul ala?nu,eu am facut problema ,dar intreb asa ca fapt divers.
Ceea ce nu vad ce rost are.... poti sa faci ciurul si in programul tau, nu e nevoie sa il faci seaparat si sa faci constanta si etc.....
|
|
|
Memorat
|
|
|
|
•devilkind
|
|
« Răspunde #136 : Februarie 24, 2007, 18:35:48 » |
|
de fapt adrian vladu cred ca se referea sa faci un program care sa iti scrie direct in codu sursa: a[1]=2;a[2]=3;a[3]=5 bla blabla Adik ceva de genu un program care sa iti scrie programu.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #137 : Martie 01, 2007, 18:35:17 » |
|
Am inteles.
|
|
|
Memorat
|
|
|
|
•Adix
Strain
Karma: -9
Deconectat
Mesaje: 44
|
|
« Răspunde #138 : Martie 03, 2007, 20:22:50 » |
|
Am facut problema fractiilor , imi merge pentru cazurile prezentate anterior (in afara de cel cu 1000000000 pt ca folosesc borland) si imi da raspuns gresit la 4 din teste, la restul luand TLE .. care ar putea fi problema ? folosesc ciurul si numarul de fractii il calculez folosind
|
|
|
Memorat
|
|
|
|
•llucky
Strain
Karma: -6
Deconectat
Mesaje: 13
|
|
« Răspunde #139 : Martie 03, 2007, 20:40:44 » |
|
well si eu am incercat dupa cum scriati pe forum, am implementat ciurul lui erathostene si functia totiene, si pentru toate exemplele date in problema si de voi pe forum obtin raspunsul corect. la teste totusi, primesc 9 TLE-uri... vreo idee ce sa mai optimizez la algoritm? sunt sigur ca e o chichitza ce nu vad eu... aveti vreo idee ce as putea face?
|
|
|
Memorat
|
|
|
|
•dodgerblue
Strain
Karma: -4
Deconectat
Mesaje: 7
|
|
« Răspunde #140 : Martie 07, 2007, 20:09:35 » |
|
O intrebare : este posibil sa apara erori daca atribui unei variabile de tip long long int valoarea unei variabile de tip float inmultita cu o variabila de tip int? (nu stiu prea multe despre g++. in borland c nu am probleme).
|
|
|
Memorat
|
|
|
|
•Darth_Niculus
|
|
« Răspunde #141 : Martie 07, 2007, 22:25:55 » |
|
N-ai probleme.... dar rezultatul o sa fie int evident.... desi ar fi de preferat sa folosesti asa: float a; int b,rez; rez=((int)a) * b;
|
|
|
Memorat
|
|
|
|
•skyel
|
|
« Răspunde #142 : Martie 09, 2007, 07:00:29 » |
|
mie imi face toate exe bine, dar incepe sa crape p undeva p unde n depasiste 100.000, any ideeas?
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
|
« Răspunde #143 : Martie 09, 2007, 08:52:58 » |
|
Aloci vreun vector mai mic decat trebuie? ... in windows mai crapa cand accesezi memorie unde nu trebuie... in linux crapa sigur
|
|
|
Memorat
|
|
|
|
•skyel
|
|
« Răspunde #144 : Martie 09, 2007, 09:43:14 » |
|
aloc un vector char de Nmax unde Nmax e 1000010 (sa fiu sigur k nu aloc prea mult) LE: Sursa e scrisa in BC 3.1 si e compilata cu gnu (as fi scris-o in rhide, dar tot nu imi dau seama de ce nu vrea sa creeze fisier d tip object), deci nu prea pot sa fac debug pt n>65000
|
|
« Ultima modificare: Martie 09, 2007, 09:56:54 de către Ghitulete Razvan »
|
Memorat
|
|
|
|
•sima_cotizo
|
|
« Răspunde #145 : Martie 09, 2007, 09:56:37 » |
|
Puteai sa o scrii si in notepad, conteaza doar unde o compilezi ... Ok, daca nu iti iese din vector, detaliaza in ce sens "crapa" programul?... Cateva probleme posibile: - daca faci ceva recursiv (nu cred ca e nevoie in pr asta) iti "crapa" stiva;
- daca imparti la 0 ar trebui sa primesti FPE si sa crape
- daca aloci mai mult decat ai disponibil la un moment dat mi se pare ca iar face urat
- poate fi de la faptul ca nu ai compilat cum trebuie... (eu stiu, poate ai pus vreun flag care nu trebuia)
|
|
|
Memorat
|
|
|
|
•skyel
|
|
« Răspunde #146 : Martie 09, 2007, 09:59:57 » |
|
prin a crapa ma refer la faptul k o ia rezultatu razna, adik nu da nici o eroare, si ceea ce nu inteleg e cum de imi da pt primele 100.000 de numere si pt restu pana la un mil incepe sa devieze. LE: acuma imi da sigsegv..... LLE: solved sigsegv(era un for pt ciur kre incepea de la i*i si knd i era mai mare k 1000 imi iesea din vector), mai ramane doar partea cu rezultatul incorect
|
|
« Ultima modificare: Martie 09, 2007, 11:03:35 de către Ghitulete Razvan »
|
Memorat
|
|
|
|
•dodgerblue
Strain
Karma: -4
Deconectat
Mesaje: 7
|
|
« Răspunde #147 : Martie 09, 2007, 15:57:09 » |
|
Am reusit cu problema Nu credeam ca daca voi declara doi vectori de 1000000 de elemente de tip long long int, problema va rula, dar se pare ca am obtinut 100 de puncte! Cum a spus cineva inaintea mea pe forum (nu mai stiu exact cine) e memorie "fara numar"
|
|
|
Memorat
|
|
|
|
•Marius
|
|
« Răspunde #148 : Martie 09, 2007, 16:25:31 » |
|
Nu, e "lafaiala"!
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•dodgerblue
Strain
Karma: -4
Deconectat
Mesaje: 7
|
|
« Răspunde #149 : Martie 09, 2007, 16:40:33 » |
|
Nu, e "lafaiala"! Asa Scuze
|
|
|
Memorat
|
|
|
|
|