Pagini: 1 2 [3] 4   În jos
  Imprimă  
Ajutor Subiect: 009 Tabela  (Citit de 29631 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
k_ounu_eddy
Vorbaret
****

Karma: -104
Deconectat Deconectat

Mesaje: 161



Vezi Profilul
« Răspunde #50 : Octombrie 18, 2006, 00:25:40 »

Cine poate sa imi dea demonstratia la problema aceasta,cand se executa doar o instructiune adica xor-ul ala,ca as fi tare curios?Va rog frumos,am cautat cartea dar nu am gasit-o.Daca vrea cineva ,sa posteze pe forum,sau daca nu sa trimita pe adresa de  mail [email protected] am fost prea indraznet,adica in sensul in care am cerut prea mult,iertati-ma.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #51 : Octombrie 18, 2006, 09:00:41 »

demonstratia nu prea cred ca o stie nimeni fara sa aiba cartea respectiva. Tongue

oricum, poti sa o faci in timp logaritmic oricand.  wink
Memorat

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

Karma: -104
Deconectat Deconectat

Mesaje: 161



Vezi Profilul
« Răspunde #52 : Octombrie 18, 2006, 10:33:37 »

Pai eu asta am intrebat ,daca are cineva si cartea,si poate sa posteze demonstratia.dar tu dark_raxvan ,nu o zic deloc cu rautate,tu de unde ai stiut formula,presupun ca o stii tot dintr-o carte,si daca ai cartea,nu poti sa ne explici si noua? :thumbup:Multumesc anticipat.
Memorat
Agent_Smith
Strain


Karma: -111
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #53 : Februarie 06, 2007, 06:43:11 »

Hai lasati XOR u ala in pace k daca erati la olimpiada nu va venea voua ideea aia......
Totusi observ k aven simetrie tot la 2k (2,4,8,16,32,etc)......
si intrebarea mea se poate rezolva prin reducerea  "patratelelor" pana cand avem un patrat de 4 lemente (2x2) ?? k nu vreau sa ma apuc degeaba de ea....... Very Happy  Cool
Memorat
andreitheo87
Strain


Karma: 13
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #54 : Februarie 06, 2007, 13:54:22 »

De ce nu ar merge, daca esti asa de sigur pe simetria aia? Apuca-te de ea( mai mult de 10-15 linii nu ar trebui sa scri la ea) si in caz ca nu iese stai si o sa faci sa mearga... daca dupa multe ore de munca nu reusesti nimic( adica te dai batut) poti intreba pe forum...
Memorat
skydome
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 21



Vezi Profilul
« Răspunde #55 : Martie 01, 2007, 19:32:23 »

chiar ca ar trebui o minte luminata sa ne ajute si pe noi pacatosii sa ne dam seama ce face xor ala.. (helpu de la pascal nu prea ajuta   Thumb down )
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #56 : Martie 01, 2007, 19:56:57 »

Citat
chiar ca ar trebui o minte luminata sa ne ajute si pe noi pacatosii sa ne dam seama ce face xor ala.. (helpu de la pascal nu prea ajuta   Thumb down )

xor e o operatie pe biti gen and sau or in pascal (&& respecti || in c/c++).

1 xor 1 =0
0 xor 1 =1
1 xor 0 =1
0 xor 0 =0

succes ! Wink
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #57 : Martie 01, 2007, 22:54:48 »

explicat in cuvinte, xor este "exclusiv or", adica fie una fie alta, dar nu ambele Smile
Memorat
Adix
Strain
*

Karma: -9
Deconectat Deconectat

Mesaje: 44



Vezi Profilul
« Răspunde #58 : Martie 02, 2007, 00:08:10 »

chiar ca ar trebui o minte luminata sa ne ajute si pe noi pacatosii sa ne dam seama ce face xor ala.. (helpu de la pascal nu prea ajuta   Thumb down )

Cred ca el vroia sa intrebe cum duce XORul acela la solutia problemei.. Daca el nu atunci eu da Tongue
Memorat
Darth_Niculus
De-al casei
***

Karma: -13
Deconectat Deconectat

Mesaje: 143



Vezi Profilul
« Răspunde #59 : Martie 02, 2007, 01:05:51 »

 E ditamai demonstratia si nush daca o mai tine cineva minte exact... de exemplu eu am cam uitat.... oricum scrie si mai sus pe forum ca poti sa gasesti demonstratia in "Probleme Neelementare Tratate Elementar" de A.M.IAGLOM si I.M.IAGLOM. Cartea o gasesti mai pe la orice bibleoteca... de exemplu eu am luat-o de la biblioteca liceului.... ceea ce-mi aduce aminte ca trebui s-o returnez   Whistle
 Oricum o sa ai de cautat pana dai de problema......
-----------------
[Later Edited] Dar o rezolvare in timp logaritmic imi pare mult mai INDICATA , demonstratia aia cu XOR nu te invata mare lucru..... oricum nu strica sa rezolvi problema in ambele moduri  Weightlift
« Ultima modificare: Martie 02, 2007, 01:13:08 de către Ivan Nicolae » Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #60 : Martie 02, 2007, 09:08:43 »

Citat
Cred ca el vroia sa intrebe cum duce XORul acela la solutia problemei.

Atunci nu inteleg ce cauta in helpu din pascal :-/
Memorat
skydome
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 21



Vezi Profilul
« Răspunde #61 : Martie 04, 2007, 16:24:39 »

am inteles ca demonstratia e lunga si nimeni nu vrea sa o scrie pe forum Very Happy

am aflat si eu tabelul de adevar si nu stiam exact de unde ia valorile 0 si 1
mersi de ajutor
Memorat
Viksen
Strain


Karma: 10
Deconectat Deconectat

Mesaje: 20



Vezi Profilul
« Răspunde #62 : Martie 05, 2007, 09:19:09 »

Vad ca nimeni nu s-a incumetat sa raspunda intrebarii cu demonstratia. Cosmin are dreptate totusi. Citind forumul (nu am cartea, shi ma indoiesc sa fie pierduta prin vreo biblioteca din Ploiesti ) mi-am dat seama de "demonstratia intuitiva" la care se referea Cosmin.
Defapt, rezolvarea in O(1) porneste din rezolvarea logaritmica. Si iata cum:

"simetriile" despre care s-a vorbit (si de care banuiesc ca s-au prins toti care au implementat logaritmic) se bazeaza pe faptul ca, daca la un pas, una din coordonate era mai mare sau egala cu 2k, atunci ea se decrementa cu 2k, iar daca ambele erau mai mari decat 2k, atunci se decrementau ambele. Ideea este ca, tabela de dimensiune 2k+1X2k+1 se imparte in 4 cadrane de latura 2k. (consideram cadranele in ordine trigonometrica) Daca ne aflam in cadranul 4 , atunci solutia este identica ca si cand ne-am situa in cadranul 2, pe coordonate cu 2k mai mici. In cadranele 1 , respectiv 3, solutia este tot ca si cand am translata cadranul in cadranul 2 ( micsorand coordonata mai mare cu 2k ) , numai ca este ca valoare cu 2k mai mare. Acum, dupa ce am facut reducerea la cadranul 2, aplicam recursiv pentru acesta. Suma valorilor din translatarile cadranelor 1 si 3 in cadranul 2 reprezinta solutia problemei.

Acum, varianta cu xor, care este surprinzator de asemanatoare.
Considerand reprezentarea pe biti a cordonatelor. In matricea de mai sus despre care vorbeam, pasul k ( cand dimensiunile sunt 2k+1 ) reprezinta, defapt, perechea de biti de pe pozitia k din coordonata liniei si respectiv coloanei. ( mentionez ca prin "coordonate" ma refer la linia/coloana curenta, si acestea fiind decrementate cu 1 fata de input-ul problemei, deci primul element al tabelei se afla pe pozitia (0;0) )

Astfel, cele 4 cadrane vor fi date de perechile:
(0;0) - cadranul 2 ( ambele coordonate mai mici decat 2k )
(0;1) - cadranul 1 ( coordonata coloanei mai mare sau egala cu 2k )
(1;0) - cadranul 3 ( coordonata liniei mai mare sau egala cu 2k )
(1;1) - cadranul 4 ( ambele coordonate mai mari sau egale cu 2k )

acum, bitul k al rezultatului va trebui sa fie (dupa cum am spus la prima varianta) 0 daca ne aflam in cadranele 2 sau 4 si 1 daca ne aflam in cadranele 1 sau 3 ( adica numai in cazul translatarii din 1 sau 3 in 2 se aduna 2k ). Iata ca , bitul k din rezultat este , defapt dat de operatia xor intre perechea de biti k descrisa mai sus:

cadranul 2 : 0 xor 0 = 0
cadranul 1 : 0 xor 1 = 1
cadranul 3 : 1 xor 0 = 1
cadranul 4 : 0 xor 0 = 0

sper ca demonstratia este suficienta si nu foarte dificil de urmarit. (daca este, va rog sa mai postati)
« Ultima modificare: Noiembrie 11, 2007, 18:43:07 de către Victor Savu » Memorat

going UP !...
hulparuadrian
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #63 : Februarie 20, 2008, 12:29:03 »

super tare formula... Applause...dupa cum am mai zis: "In fiecare zi inveti un lucru nou!".  Banana Fara hinturile de pe forum nu cred k
luam 100 prea curand...fortza "bitwise operations Winner 1st place"
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #64 : Aprilie 21, 2008, 18:00:51 »

Imi da eroare in evaluator la problema asta  orice scriu Beat Dead Horse
Memorat
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #65 : Aprilie 22, 2008, 12:56:44 »

demonstratia nu prea cred ca o stie nimeni fara sa aiba cartea respectiva. Tongue
Pentru cine cunoaste ceva din teoria Sprague-Grundy (are Cosmin un articol bun pe tema asta), o demonstratie simpla si eleganta se poate deduce de aici [...]

« Ultima modificare: Aprilie 22, 2008, 14:21:56 de către Lucian Boca » Memorat

"one of these days I'm going to cut you into little pieces..."
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #66 : Aprilie 22, 2008, 13:31:39 »

spoiler..

Nu ar fi trebuit sa zici ideea din spatele demonstratiei. Eu am fost destul de fericit cand m-am prins singur de demonstratie (nu de formula). Nu ar trebui sa le rapim celorlalti useri aceasta bucurie Very Happy
Memorat
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #67 : Aprilie 22, 2008, 14:21:41 »

Am editat postul precedent. Cred ca Tiberiu are dreptate, e mai frumos cand gasesti singur o astfel de demonstratie - tin minte ca si eu eram extrem de fericit in momentul respectiv Smile
Memorat

"one of these days I'm going to cut you into little pieces..."
lsorin_94
Strain


Karma: -8
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #68 : Martie 29, 2009, 19:35:55 »

sall as vrea sa fac un comm la aceasta problema rezolvarea e "relativa".... deoarece tabelul se poate face in mai multe moduri!!!! Beat Dead Horse Poc Boxing..... macar se se spuna in problema "pt aceest tip de tabel!!!"
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #69 : Martie 29, 2009, 22:31:41 »

Si cum anume se poate face constructia tabelului in mai multe moduri?
Memorat

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


Karma: -8
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #70 : Aprilie 03, 2009, 10:25:16 »

poi se poate ::: linie coloana linie coloana;;;; linie linie;;;; shi coloana coloana..... toate dand rez dif......
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #71 : Aprilie 03, 2009, 10:38:16 »

Eu zic sa recitesti enuntul.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
veleandu
De-al casei
***

Karma: 155
Deconectat Deconectat

Mesaje: 132



Vezi Profilul
« Răspunde #72 : Noiembrie 22, 2009, 16:52:37 »

 Fighting i foarte penal .. tot timpul wrong answer .. cred ca si cu o sursa buna miar da asta Smile am facut ca alti cu simetrie in o(1) Very Happy bine .. cu niste calcule in plus adunari .. inmultiri si altele .... dar totusi e penal rau Sad  Angry  Angry   Brick wall

Edit:
 Very Happy miam dat seama ceam gresit Smile da tot penal ramane programu Sad  Brick wall  Brick wall

Editat de admin: Nu mai posta de doua ori consecutiv. Foloseste butonul "Modifica".
« Ultima modificare: Noiembrie 23, 2009, 00:26:57 de către Andrei Grigorean » Memorat
darkseeker
De-al casei
***

Karma: 29
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #73 : Martie 28, 2010, 14:13:29 »

Cu algoritmul meu iau 0 puncte si nu inteleg dc imi da wa pe toate testele.eu folosesc o matrice de 4X4 in care generez cadranul in care se afla punctul de coordonate l,c,si apoi folosesc resturile impartirii la 4 a lui l si respectiv c, pentru a gasi punctul in matricea mea,dupa care il afisez.pe exemple imi merge,de asemenea merge pe orice numar din cele 6 cadrane ale tabelei.matricea este unsigned long la fel si variabilele l si c.

Edit:
daca nu puteti sa ma ajutati cu algoritmul dati-mi atunci niste teste cu valori mari sa vad daca le pica programul meu

Editat de moderator: Nu mai posta de doua ori consecutiv. Foloseste butonul "Modifica"
« Ultima modificare: Martie 28, 2010, 21:15:53 de către Mircea Dima » Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #74 : Iunie 14, 2010, 12:53:54 »

Am o nelamurire la rezolvarea in O(log(N)).
Am citit posturile anterioare si am inteles cam asa.
Daca am o tabela de latura 2^(k+1) o sa am patru cadrane de latura 2^k (pe care le numerotam in ordine trigonometrica).O valoare de pe coordonatele (x,y) din cadranul 4 este egala cu valoarea de pe coordonatele(x - 2^k, y - 2^k) din cadranul 2.
Care este legatura dintre cadranul 3 si cadranul 1 si cum conduc relatiile astea la rezultat?
Multumesc!
Memorat
Pagini: 1 2 [3] 4   În sus
  Imprimă  
 
Schimbă forumul:  

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