Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 141 Sortari  (Citit de 8480 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ditzone
Vizitator
« : Noiembrie 24, 2005, 19:10:39 »

Aici puteţi discuta despre problema Sortari.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #1 : Noiembrie 25, 2005, 01:02:14 »

care e valoarea maxima a lui t?
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
ditzone
Vizitator
« Răspunde #2 : Noiembrie 25, 2005, 09:53:37 »

10
Memorat
cristi8
Vizitator
« Răspunde #3 : Noiembrie 25, 2005, 21:37:09 »

Whistle traiasca time.h si stdlib.h cu tot cu rand() -ul lui..
(100) Tongue
Memorat
greco
Nu mai tace
*****

Karma: 144
Deconectat Deconectat

Mesaje: 434



Vezi Profilul
« Răspunde #4 : Noiembrie 25, 2005, 21:41:09 »

Applause tot asa ...
Memorat

Jump in the cockpit and start up the engines
Remove all the wheelblocks there's no time to waste
Gathering speed as we head down the runway
Gotta get airborne before it's too late.
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #5 : Noiembrie 29, 2005, 20:45:14 »

Complexitatea fara bulaneli  Shame on you este O(2^N * M)? TLE pe 3 teste... Oricum, ma intreb cat ar fi luat un O(N! * M)...  Think Ca un random ia 100 fara probleme.. nu as vrea sa vad problema asta intr-un concurs...  Tongue

   Oricum, O(2^N * M) e complexitatea oficiala?
Memorat
ditzone
Vizitator
« Răspunde #6 : Noiembrie 29, 2005, 21:37:13 »

Da complexitatea este O(2^n*m) folosind principiu 0-1 in retele de sortare. Problema a fost pusa doar pentru exercitiu nu a fost conceputa pentru concurs motivul fiind randomul care se comporta mai mult decat "binisor".
Un O(n!*m) lua destul de putin...
Memorat
vladut.forum
Vizitator
« Răspunde #7 : Noiembrie 30, 2005, 16:18:19 »

Shocked am aflat in cele din urma ca ce faceam eu, era adevarat, adika chestia asta cu 0-1,
Memorat
cristi8
Vizitator
« Răspunde #8 : Noiembrie 30, 2005, 16:51:33 »

cum se face cu "0-1" ? care e principiul 0-1 in retelele de sortare ?
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #9 : Noiembrie 30, 2005, 17:16:51 »

Cristi: Uita-te in Cormen. Ideea e ca daca o retea de sortare sorteaza bine orice secventa formata din 0 si 1 atunci ea sorteaza bine orice secventa de numere.

Vlad: Vrei sa zici ca te-ai prins singur de rezolvare fara sa stii principiul 0-1? Surprised
Memorat
vladut.forum
Vizitator
« Răspunde #10 : Noiembrie 30, 2005, 17:40:51 »

dap, pai dupa ce am facut random asta mi-o fost idea urmatoare cu 0,1 am implementat, da am gresit in implementare si am luat 70 (restu wa).
no serios nu stiam ca exista teorema. eu o foloseam doar ca asa mi se parea mie ca ar tb sa mearga, ca ziceam ca pe mine ma intereseaza doar relatia a > b, (ca sa le interschimb) si am zis ca e indeajuns sa folosesc 0 si 1, ( 1 > 0 ). Azi am aflat dupa cum am zis, ca chestia asta e teorema, funny  Smile)
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #11 : Decembrie 10, 2005, 08:29:04 »

Citat
Scrieti un program care determina (pentru mai multe subteste) daca operatiile alese de Ion si Vasile vor sorta crescator orice sir de N numere, indiferent de asezarea lor initiala.

Nu e clar daca operatiile pot sau nu pot fi puse in orice ordine ...
Memorat
vladcyb1
Vorbaret
****

Karma: 33
Deconectat Deconectat

Mesaje: 166



Vezi Profilul
« Răspunde #12 : Ianuarie 04, 2006, 11:52:14 »

Eu am rezolvat problema luand in ordinea data in fisier  operatiile si am luat 0. Ma rog..e posibil sa fi implementat prost...dar cum e pana la urma cu operatiile, care e ordinea ?  Confused
Memorat

Vlad Berteanu
ditzone
Vizitator
« Răspunde #13 : Ianuarie 04, 2006, 12:57:31 »

Cea din fisier !
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #14 : Aprilie 18, 2007, 12:20:43 »

 Think .. mi'a luat doar 3 teste.. in rest , incorect...  Huh
Memorat
c_sebi
Client obisnuit
**

Karma: 24
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #15 : Iulie 23, 2007, 10:20:39 »

Se poate afla numarul de 0-uri din reprezentarea binara a unui numar, in timp constant? Daca da, cum?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #16 : Iulie 23, 2007, 10:24:29 »

Precalculezi Tongue.

Daca numarul este pe 32 de biti, nu iti ajunge insa memoria. Trebuie sa precalculezi ptr valorile intre 0 si 1 << 16, si apoi vei face suma a doua valori cand vrei sa afli cate 0-uri contine un numar.
« Ultima modificare: Iulie 23, 2007, 18:04:53 de către Andrei Grigorean » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
c_sebi
Client obisnuit
**

Karma: 24
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #17 : Iulie 23, 2007, 18:03:20 »

Eu am verificat pentru fiecare numar de la 0 la 2n-1 daca bitii lui pot fi sortati. Complexitate O(2n(M+N)). Cand verific daca bitii sunt ordonati imi ia O(N) - verific toti bitii. Cum as putea optimiza? Iau TLE pe ultumul test.

LE: Pentru memorarea celor M operatii foloseam un singur vector (codificam cele 2 valori intr-una singura). Acum folosesc 2 vectori si programul se incadreaza in limita de timp pentru toate testele.
« Ultima modificare: Iulie 23, 2007, 18:34:37 de către Sebi Crisan » Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #18 : Iulie 23, 2007, 18:08:35 »

Eu am aceeasi complexitate.

Ai grija sa nu faci calcule inutile? Daca ai gasit o configuratie care nu poate fi sortata, dai un break acolo?
Memorat

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

Karma: 1
Deconectat Deconectat

Mesaje: 26



Vezi Profilul
« Răspunde #19 : Septembrie 04, 2007, 13:39:12 »

Eu m-am gandit asha:
Am luat cazul extrem in care vectorul este sortat descrescator.Ca acesta sa poata ajunge sortat crescator, asupra lui trebuie sa fie facute cel putin n*(n-1)/2 operatii.Daca se faceau mai putine operatii, afisam 0,daca nu luam un vector de n elemente pe care il initiam c=n-i+1(adik sortat descrescator, cazul extrem), apoi faceam operatiile asupra lui in ordinea in care erau in fisier si apoi verificam daca este sortat.Am luat doar 30 p si pe restu WA.  Cry
Ma poate ajuta cineva cu un exemplu pe care algoritmul meu sa nu mearga.

Imi poate da cineva un material de unde sa aflu mai multe despre aceste retele de sortare. Tongue
Memorat
Dastas
Vorbaret
****

Karma: 11
Deconectat Deconectat

Mesaje: 170



Vezi Profilul
« Răspunde #20 : Septembrie 04, 2007, 14:02:24 »

Citat
Am luat cazul extrem in care vectorul este sortat descrescator.Ca acesta sa poata ajunge sortat crescator, asupra lui trebuie sa fie facute cel putin n*(n-1)/2 operatii.

Nu cred ca-i adevarata chestia asta.
De exemplu, sa zicem ca ai:
5 4 3 2 1

Tu zici ca ai nevoie de 5*4/2 adica 10 operatii. Dar nu ai nevoie decat de 2:
1 5 => 1 4 3 2 5
2 4 => 1 2 3 4 5

Tu trebuie sa vezi daca operatiile din fisier sorteaza corect orice sir format din 0 si 1. Asta poti face cu back, pe biti sau cu random.
Memorat
coderninu
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 26



Vezi Profilul
« Răspunde #21 : Septembrie 04, 2007, 14:27:09 »

Citat
Am luat cazul extrem in care vectorul este sortat descrescator.Ca acesta sa poata ajunge sortat crescator, asupra lui trebuie sa fie facute cel putin n*(n-1)/2 operatii.

Nu cred ca-i adevarata chestia asta.
De exemplu, sa zicem ca ai:
5 4 3 2 1

Tu zici ca ai nevoie de 5*4/2 adica 10 operatii. Dar nu ai nevoie decat de 2:
1 5 => 1 4 3 2 5
2 4 => 1 2 3 4 5

Tu trebuie sa vezi daca operatiile din fisier sorteaza corect orice sir format din 0 si 1. Asta poti face cu back, pe biti sau cu random.

Eu ma gandisem ca tre sa verific fiecare cu fiecare si asa am ajuns la chestia aia Tongue.Mersi pt ajutor.
Oricum am mai trim o data sursa fara conditia aia si tot 30 p am luat asa ca o sa incerc pe biti si sa le pregenerez.
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #22 : Septembrie 09, 2007, 12:58:31 »

mie mi'a iesit cu random.. am generat 10000 de configuratii si am verificat daca dupa operatiile descrise sunt sortate sau nu..
Memorat
S7012MY
Nu mai tace
*****

Karma: 26
Deconectat Deconectat

Mesaje: 648



Vezi Profilul
« Răspunde #23 : Ianuarie 24, 2011, 17:32:39 »

Cred ca ar putea fi marita limita de timp la problema asta. Pentru 100 p a trebuit sa-mi precalculez intr-un vector puterile lui 2.  Eh?
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #24 : Ianuarie 24, 2011, 18:01:52 »

Puteai sa le obtii si folosind operatii pe biti (<<, shl).
Memorat

Am zis Mr. Green
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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