Afişează mesaje
|
Pagini: 1 [2] 3 4 ... 7
|
30
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 021 Zero
|
: Martie 17, 2011, 14:09:55
|
Ati putea sa mutati restictiile problemei intr-o categorie separata ca la restul problemelor. Asa nu e acelasi stil. ________________________________________________________ pot sa fie oricate cifre de 0, mai putin prima din numar. trebuie sa nu ai o subsecventa de lungime P cu cifre de 0.
fara numere mari iei 65 de puncte.
http://infoarena.ro/job_detail/558926Eu iau 80 fara numere mari. Cred ca s-au schimbat intre timp testele asa ca am postat aici cat iei acum. Dar dc oare s-au pus restrictiile sa-ti trebuiasca numere mari? Adica 20^20 are doar 8-9 cifre in plus fata de cat iti incape pe long long. Ar fi incaput pe long long long... daca exista.
|
|
|
31
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1102 Turnuri2
|
: Martie 17, 2011, 13:35:37
|
Nu e din cauza ca numarul de intoarceri e prea mic. E din cauza ca fiecare numar va fi procesat o singura data. Algoritmul e echivalent cu urmatorul algoritm. Trec prin fiecare element in parte si il adaug intr-o stiva. Vreau sa mentin acea stiva sortata descrescator, astfel ca daca elementul din varful stivei e mai mic decat elementul pe care vreau sa il bag acuma incep sa scot din stiva pana cand in varful stivei ramane un element mai mare. In acest moment elementul din varful stivei este de altfel si primul element din stanga mai mare decat el (pentru dreapta faci la fel). De ce e acest lucru O(N). Simplu, pentru ca fiecare element intra in stiva o singura, si iese o singura data. E drept ca poate parea mai mult din cauza ca la fiecare pas trebuie sa mai si scoti niste elemente din stiva, insa gandestete ca suma numarului de elemente pe care le scoti e N.
Da, pentru ca tu atunci cand calculezi "zidul" (pana unde vede) pentru un anumit turn (turnul i), desi treci prin puncte intermediare pana ajungi la rezultat, nu vei mai trece din nou prin punctele intermediare pentru turnurile viitoare (de dupa i) pentru ca un turn viitor fie va "vedea" complet intervalul dintre zidul lui i si i, fie nu-l va vedea deloc (fiind blocat de turnul i). Deci tot acest interval dintre i si zidul sau va fi rezumat pe viitor doar consultand turnul i. Fiecare turn va mai fi consultat o singura data (de zidul sau din partea opusa). Cand facem parcurgerea uitandu-ne spre stanga pt vizibilitate la turnul i, acest turn va fi dupa aceea "subordonat" zidului sau din dreapta k, i va fi folosit de catre k pt a i se calcula vizibilitatea si apoi nu va mai fi consultat i. Va fi consultat k cat si pentru i.
|
|
|
34
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1100 Derdelus
|
: Martie 06, 2011, 17:57:11
|
Ms. Am gasit problema. Se pare ca / nu tine cont de semn. _______________________________ Daca folosim algoritmi mai performanti de inmultire a matricilor putem obtine timpi mai buni, in particular cu algoritmul lui Strassen obtinem o complexitate de O ( K * N ^ 2.807 + Q ) , dar niciunul dintre acesti algoritmi nu obtine punctaj maxim. Dc e algoritm performant daca are complexitate N ^ 2.807 (si ceva)?
|
|
|
35
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 024 Deque
|
: Martie 06, 2011, 17:41:59
|
Faza cu ++i, i++ conteaza de la caz la caz. Daca ai V[++i] sau V[i++] sunt doua lucruri diferite. Si in for, nu conteaza cum il scrii, fiecare cum s-a obisnuit. Streamurile in general merg mai repede, pentru ca sunt mai noi si s-au dezolvata mai bine ca si printf, dar uneori citirea din c face minuni. Si da, "%d" e mai rapid ca si "%i" pentru ca formatul "%d" e mai nou.
Stiu ca v[++i] sau v[i++] sunt doua chestii diferite.
|
|
|
37
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Eliberare memorie C++
|
: Martie 06, 2011, 16:30:15
|
Daca stochezi vectori intr-o functie recursiva (e necesar la o problema), memoria aceea se elibereaza dupa ce termina executia acea instanta a functiei? Mai mult, daca s-a terminat de evaluat o linie de cod in care s-a folosit parametrul intors de functie, si s-a zicem functia intorcea adresa unui vector, vectorul se elibereaza? Ca eu stiam ca C++ nu are garbage collector si ma gandeam daca asa obtii memory leaks.
|
|
|
41
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 024 Deque
|
: Martie 06, 2011, 13:11:37
|
Din cauza citirii, tu ai "%i", ceea ce se folosea mai demult in borland ( daca nu ma insel ) . Incearca sa folosesti "%d", si o sa mearga, si la rezultat sa folosesti "%lld", uite aici sursa ta : http://infoarena.ro/job_detail/546327[LE] Totusi "%i" cred ca mergea, greseala fatala era la rezultat, trebuie "%lld" ..... dar folosesti "%d" mai bine alte dati Mersi Dar cred ca fiindca lipsea ll-ul de la format. http://cplusplus.com/reference/clibrary/cstdio/printf/Scrie acolo d or i pt Signed decimal integer. Mie-mi place mai mult cu i. _________________________________ http://infoarena.ro/job_detail/547479http://infoarena.ro/job_detail/547484Se pare ca e mai lent cu %i. din ce am inteles pana cum ++i mai rapid ca i++ %d mai rapid ca %i max-ul de mana mai rapid decat cel din stl streamuri mai rapide pe infoarena, scanf si printf mai rapide pe campion si la olimpiada.
|
|
|
50
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Stocare infiniti in variabile
|
: Februarie 18, 2011, 15:13:31
|
Am observat de ceva timp o diferenta mare in ceea ce priveste operatiile din C# vs C++.
La overflow, variabilele din C++ intra pe numere negative, in timp ce cele din C# iau valoarea unei constante ce reprezinta infinit. Si de aici toate operatiile de fac corect. INF + const = INF INF - const = INF INF * (-1) = -INF
la nedeterminari inca n-am incercat sa vad ce face, dar mi se pare o chestie destul de utila pt proiectele mai mari.
Oare operatiile sunt incetinite mult din cauza asta? Stiu ca in C++, nr ies negative pt ca asta obtii daca aplici operatiile, in C# or fi ceva if-uri in cadrul operatiilor ca sa puna valoarea INF?
|
|
|
|