ditzone
Vizitator
|
|
« : Martie 03, 2006, 18:22:50 » |
|
Aici puteţi discuta despre problema Banana.
|
|
|
Memorat
|
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #1 : Martie 03, 2006, 20:57:24 » |
|
Mi se pare mie sau e exemplul truchiat? Zice ca sunt 10 bananieri si nu sunt decat 8.
|
|
|
Memorat
|
|
|
|
ditzone
Vizitator
|
|
« Răspunde #2 : Martie 03, 2006, 21:43:01 » |
|
S-a rezolvat
|
|
|
Memorat
|
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #3 : Martie 06, 2006, 19:10:53 » |
|
La problema asta se pare ca se poate obtine 100 de puncte cu un algoritm bazat pe niste bf-uri care are nevoie de O(MaxCoordonate^2) memorie daca se folosesc operatii pe biti. Problema cred ca a fost propusa pentru o limita de memorie mai stricta si daca cineva are timp poate pune niste teste cu coordonate mai mari (poate chiar si cu N mai mare).
|
|
|
Memorat
|
|
|
|
•fireatmyself
|
|
« Răspunde #4 : Martie 21, 2006, 10:51:27 » |
|
eu zic ca te complici, poti sa o rezolvi si mai simplu. si in plus mai este o problema asemanatoare tot pe Info Arena
|
|
|
Memorat
|
Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
|
|
|
•gogu
Client obisnuit
Karma: 42
Deconectat
Mesaje: 98
|
|
« Răspunde #5 : Martie 21, 2006, 13:37:47 » |
|
Tu nu cred ca ai inteles ce am vrut sa spun. Eu am rezolvat problema cu memorie O(N) si am zis ca o solutie asa de ineficienta cu memoria nu ar trebui sa ia 100 de puncte.
|
|
|
Memorat
|
|
|
|
•alex_prg
Strain
Karma: -5
Deconectat
Mesaje: 21
|
|
« Răspunde #6 : Aprilie 11, 2006, 23:01:18 » |
|
la problema asta consider bananierii varfuri intrun graf. Determin muchiile dupa ce sortez pozitiile lor si dupaia fac o parcurgere in latime sa determin componentele conexe, in final le iau pe cele mai mari k. Complexitatea e O(n*log n). Primesc pe doua teste TLE ... cum sal mai imbunatatesc ?
|
|
|
Memorat
|
reality is just an illusion created by the lack of alcohol
|
|
|
u-92
Vizitator
|
|
« Răspunde #7 : Aprilie 12, 2006, 06:55:56 » |
|
ideea e s-o rezolvi cu multimi (disjoint data set)
|
|
|
Memorat
|
|
|
|
•alex_prg
Strain
Karma: -5
Deconectat
Mesaje: 21
|
|
« Răspunde #8 : Aprilie 12, 2006, 19:36:37 » |
|
nu-mi spune nimic ... poti sami dai un link calumea ? ce complexitate ar trebui sa scot ?
|
|
« Ultima modificare: Aprilie 12, 2006, 19:43:21 de către alex_prg »
|
Memorat
|
reality is just an illusion created by the lack of alcohol
|
|
|
andreit1
Vizitator
|
|
« Răspunde #9 : Aprilie 12, 2006, 19:58:29 » |
|
alex_prg ideea ta este buna. Se poate lua 100 cu ea. Vezi sa nu ai nici un pas in O(N^2)... asta include si alegerea celor mai mari k multimi Se poate rezolva si cu multimi disjuncte dar nu este neaparat. Poti afla mai multe despre asta in cartea de probleme a doamnei Cerchez( eu de acolo am invatat) sau poti cauta pe google "disjoint data set" si sigur o sa gasesti.
|
|
|
Memorat
|
|
|
|
•alex_prg
Strain
Karma: -5
Deconectat
Mesaje: 21
|
|
« Răspunde #10 : Aprilie 12, 2006, 20:23:22 » |
|
am gasit ceva pe net ... da nam rabdare sa incerc si asa ... mam mai uitat peste program si aleg pe primele k componente o fac in O(k*numaru de componente) ... poate ca daca numaru de componente este f mare si k tot f mare tinde catre un O(n*n) si iese din timp nu ?
|
|
|
Memorat
|
reality is just an illusion created by the lack of alcohol
|
|
|
andreit1
Vizitator
|
|
« Răspunde #11 : Aprilie 12, 2006, 21:10:00 » |
|
Pai tu ce crezi? Si cel mai rau caz trebuie tratat( n puncte care nu se invecineaza si n se apropie de k). Deci fa un qsort acolo si gata( sau cauta al k-lea element in O(N) ).
|
|
|
Memorat
|
|
|
|
•Marius
|
|
« Răspunde #12 : Aprilie 13, 2006, 10:55:37 » |
|
Cu multimi disjuncte si count sort eu am rezolvat in O(N). Cu aceste multimi e mult mai usor decat te astepti, in plus cred ca scrii mai putin ! Poti sa gasesti la sectiunea download pe site-ul www.devnet.ro in arhiva Lot 2002 un articol usor de inteles !
|
|
« Ultima modificare: Aprilie 26, 2006, 15:37:46 de către Marius »
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
andreit1
Vizitator
|
|
« Răspunde #13 : Aprilie 13, 2006, 11:19:41 » |
|
Teoretic nu este O(N) ci O(N*alfa(N,N)) unde alfa este inversa functiei lui Ackermann. Si se poate folosi count sort si la solutia cu df sau bf si atunci chiar obtii o rezolvare in O(N). Oricum articolul precizat este foarte bun pentru invatat multimi disjuncte.
|
|
|
Memorat
|
|
|
|
•alex_prg
Strain
Karma: -5
Deconectat
Mesaje: 21
|
|
« Răspunde #14 : Aprilie 13, 2006, 14:19:55 » |
|
mersi ma uit peste el
|
|
|
Memorat
|
reality is just an illusion created by the lack of alcohol
|
|
|
•raica_cristi
Strain
Karma: 10
Deconectat
Mesaje: 4
|
|
« Răspunde #15 : Aprilie 15, 2011, 13:49:29 » |
|
am si eu o intrebare ... maimuta porneste din (1,1) ? ... ca nu imi dau seama din enunt si nu imi iese problema nicicum ...
|
|
|
Memorat
|
|
|
|
•pauldb
|
|
« Răspunde #16 : Aprilie 15, 2011, 16:33:43 » |
|
Nu. Maimuta poate porni de oriunde.
|
|
|
Memorat
|
Am zis
|
|
|
•belginstirbu
Strain
Karma: 0
Deconectat
Mesaje: 3
|
|
« Răspunde #17 : Iunie 16, 2012, 22:54:59 » |
|
Dacă în matricea bananierilor exista o formațiune de 5 bananieri sub forma unui "+", aceasta este o singură zonă sau sunt două (una formată din cei trei bananieri aranjați pe orizontală si cealaltă de cei trei aranjați pe verticală)? În cazul din urmă, bananierul din mijloc cărei zonă îi aparține? În ambele cazuri, nu văd cum această problemă se poate rezolva eficient folosind mulțimi disjuncte.
|
|
|
Memorat
|
|
|
|
•maritim
|
|
« Răspunde #18 : Iunie 16, 2012, 23:09:24 » |
|
Cei 5 bananieri reprezinta o singura zona in forma de '+'. Multimile disjuncte sunt folosite pentru a calcula rapid aceste zone, impreuna cu numarul de bananieri asociat fiecareia.
|
|
« Ultima modificare: Iunie 16, 2012, 23:40:20 de către Lambru Andrei Cristian »
|
Memorat
|
|
|
|
|