Pagini: 1 [2] 3   În jos
  Imprimă  
Ajutor Subiect: 019 Pavare  (Citit de 21499 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #25 : Februarie 03, 2006, 21:27:50 »

Mai u ... poate ca si pe testele tale, dupa vreo jumatate de an se gaseste cineva sa ia punctaj maxim cu 2 foruri pentru ca asa se intampla pe online judgeuri, nu poti sa faci tot timpul teste foarte dure pentru toate rezolvarile posibile si imposibile.
Memorat
u-92
Vizitator
« Răspunde #26 : Februarie 03, 2006, 21:41:16 »

probabil ca asa este.. si daca tot nu se ia maxim cu o solutie gresita..
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #27 : Septembrie 21, 2006, 11:39:32 »

Imi puteti spune cat va da pe testul asta?

Cod:
150 15 114
3 3
5 9
7 12
9 14
10 15
11 1
13 2
13 15
14 4
17 13
19 4
21 4
22 3
22 15
23 3
24 2
24 14
28 4
29 9
30 7
32 2
34 9
35 6
35 15
36 3
38 12
39 8
42 3
42 4
46 3
46 12
47 13
50 11
51 2
53 9
54 2
55 9
55 11
56 3
56 10
57 4
60 2
64 7
66 3
67 6
68 1
68 10
70 10
70 14
71 2
71 11
72 1
73 1
73 11
74 5
76 15
77 3
79 3
80 7
80 13
83 8
85 2
87 8
89 4
90 7
91 15
92 11
93 3
93 4
93 15
94 15
95 2
97 5
99 11
99 15
101 12
101 15
106 1
107 2
107 10
107 11
107 12
110 8
112 5
112 10
112 15
114 10
114 15
118 5
119 12
124 10
125 3
131 12
133 1
133 2
133 14
134 8
134 14
135 5
136 3
136 4
136 7
139 10
140 4
141 2
141 3
142 10
142 12
143 10
143 11
143 14
145 13
147 3
149 15

Multumesc.
Memorat

Am zis Mr. Green
u-92
Vizitator
« Răspunde #28 : Septembrie 21, 2006, 14:31:07 »

474

ps: a stat o gramada sa-l rezolve pe calculatorul meu  Think
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #29 : Septembrie 21, 2006, 16:03:30 »

Mersi. Smile Atata imi dadea si mie. Aveam un bug [uitasem sa reinitializez ceva 0], dar l-am gasit.

Apropo de timpul de executie: si mie imi merge groaznic pe teste "rare", cum e cel postat mai sus. Imi ia 2-3 secunde pe putin. Neutral
Memorat

Am zis Mr. Green
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #30 : Septembrie 21, 2006, 22:59:57 »

Solutia oficiala este O(N*M*2^M) .. totusi s-a luat 100 si cu solutii mai putin eficiente.. in loc sa faci dinamica pe stari linie cu linie, mai bine se face element cu element (vezi solutia de la CEOI 2002 - Bugs).
Memorat
adrianradulea
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #31 : Martie 14, 2008, 13:09:40 »

imi da si mie cineva un test mai mic si cu smen l problema asta ca s m prind si yo unde gresesc.... Brick wall pls  Very Happy
Memorat
varuvasi
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #32 : Aprilie 01, 2008, 19:24:52 »

De ce nu intra O(N*M*2^M) in timp pe ultimul test?  Huh
S-a redus complexitatea solutiei oficiale?
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #33 : Aprilie 01, 2008, 19:30:59 »

Nu cred. Tocmai am retrimis sursa si intra fara probleme: http://infoarena.ro/job_detail/169619. Incearca sa faci eficient operatiile alea pe biti.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
blue_phoenix
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #34 : Aprilie 20, 2008, 19:16:52 »

Salut!...am "rezolvat" problema de ceva vreme, si pt datele de test pe care le dau eu, rezultatul pare bun...totusi iau 40p, pic la testele 3  5 7 8 9 10; daca puteti posta macar una dintre teste (si solutia),poate ma prind ce nu merge.... Brick wall
Memorat
blue_phoenix
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #35 : Aprilie 20, 2008, 19:27:31 »

474

ps: a stat o gramada sa-l rezolve pe calculatorul meu  Think
Sigur pentru datele postate da 474? mie imi da 458 Confused
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #36 : Aprilie 20, 2008, 19:42:17 »

Testele oficiale nu o sa le primesti (face parte din politica Infoarena).

Da raspunsul la testele de pe forum este corect. Explica-ne cum ne faci si poate te vom putea ajuta.
Memorat
blue_phoenix
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #37 : Aprilie 20, 2008, 20:05:57 »

Testele oficiale nu o sa le primesti (face parte din politica Infoarena).

Da raspunsul la testele de pe forum este corect. Explica-ne cum ne faci si poate te vom putea ajuta.

Am doua functii principale: compl1() si compl2();
Am declarat un vector [151]; pe locul i se afla 0 daca randul i din matrice are cel putin un element; 1 daca e complet liber;
Functia compl1() cauta doua randuri consecutive libere (complet).
Daca numarul de linii al matricii e par, patratul de 2/2 nu poate avea coltul stanga sus pe o linie impara (e doar o observatie: daca se strica la un momendat ordinea in matrice, se creeaza spatii libere ce nu vor mai putea fi umplute==> nu mai gasesc solutia optima); daca numarul de linii e impar, patratul poate fi asezat oricum (oricum vor ramane spatii libere).
Functia compl2(), parcurge matricea si completeaza oriunde gaseste un spatiu de 2/2 liber;
Aplic acelas principiu si de jos in sus(completez cu compl2()si ijn oridinea de jos in sus);
Afisez numarul mai mare dintre cele doua solutii posibile(cel rezultat din prima parcurgere, si resp cel rez din cea de-a doua)
 Confused Cam asta e rezolvarea mea...
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #38 : Aprilie 20, 2008, 20:30:58 »

Pai ce pot sa zic.. nu prea e bine Very Happy.

Problema se rezolva cu dinamica pe stari (una din coordonate e mai mica decat 15 park). Citeste ce s-a mai scris pe acest topic, o sa gasesti mai multe sfaturi.
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #39 : Aprilie 20, 2008, 21:42:17 »

daca am inteles bine ce face comp1(), atunci ar trebui sa pice testul (patratele marcate cu 1 sunt patratele blocate):
0000            22222
0000    =>    22222
1100            1122
1100            1122

oricum, daca pe ala nu pica prima functie, sigur pe testul asta pica comp2(), deci iti pica tot programul:

10001              10221
00001              22221
00001     =>     22111
00001              00221
10001              10221
                                             
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #40 : Aprilie 20, 2008, 22:10:59 »

varule, ca sa ii pice tot programul trebuie sa ii pice ambele functii. Din ce am inteles eu a aplicat 2 greedyuri si ia solutia cea mai convenabila dintre cele 2. O abordare destul de buna uneori Whistle poate chiar mai bine decat sa bagi solutia oficiala si sa o busesti Very Happy
Memorat
blue_phoenix
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #41 : Aprilie 21, 2008, 08:41:40 »

Ar fi mai bine sa incerc sa imbunatatesc (eventual sa refac) algoritmul pe aceeas idee, sau sa incerc metoda cu backtracking si programare dinamica?(back stiu, programare dinamica, nu)...puteti sa-mi spuneti cateva probleme mai usoare la care se foloseste cam aceeas idee? Multumesc! Very Happy
« Ultima modificare: Aprilie 27, 2008, 19:31:29 de către Posea Elena » Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #42 : Aprilie 21, 2008, 09:40:50 »

Daca nu stii programare dinamica te sfatuiesc sa lasi ptr moment problema asta. Poti sa incerci urmatoarele probleme

http://infoarena/problema/energii
http://infoarena/problema/homm
http://infoarena/problema/asmax
http://infoarena/problema/calatorie
http://infoarena/problema/subsir2
http://infoarena/problema/iepuri2
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #43 : Aprilie 21, 2008, 11:50:46 »

varule, ca sa ii pice tot programul trebuie sa ii pice ambele functii. Din ce am inteles eu a aplicat 2 greedyuri si ia solutia cea mai convenabila dintre cele 2. O abordare destul de buna uneori Whistle poate chiar mai bine decat sa bagi solutia oficiala si sa o busesti Very Happy

adevarat varule, dar pe al doilea test nu intra in comp1().

[...]
Functia compl1() cauta doua randuri consecutive libere (complet).
[...]
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
blue_phoenix
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 57



Vezi Profilul
« Răspunde #44 : Aprilie 21, 2008, 14:35:47 »

Pe "energii" o stiu deja, am mai incercat-o...Multumesc pentru sfaturi! Very Happy
Memorat
freak93
Echipa infoarena
Nu mai tace
*****

Karma: 342
Deconectat Deconectat

Mesaje: 819



Vezi Profilul
« Răspunde #45 : Septembrie 12, 2009, 17:34:58 »

Se pare ca problema asta se poate rezolva si in O(n*m*fibonnaci(m)) pt cei care cauta alte moduri de a o optimiza(numai fibbonaci(m) cazuri merita calculate din 2^m)
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #46 : Octombrie 18, 2009, 11:13:15 »

Cred că ar fi binevenit un test cu dimensiuni maxime si foarte putine bucăți bune, întrucât se poate lua 100 si cu complexitatea teoretică de O(4M*N).
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #47 : Octombrie 19, 2009, 07:48:06 »

Cred ca asta era ideea problemei de la inceput. Smile

Tu ai facut in complexitate mai buna?
Memorat

Am zis Mr. Green
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #48 : Octombrie 19, 2009, 17:38:17 »

Am făcut în O(2M*N*M), și din ce văd pe forum, cam asta se cere Smile
Solutia oficiala este O(N*M*2^M) .. totusi s-a luat 100 si cu solutii mai putin eficiente.. in loc sa faci dinamica pe stari linie cu linie, mai bine se face element cu element (vezi solutia de la CEOI 2002 - Bugs).
Memorat
dushmi
Nu mai tace
*****

Karma: 130
Deconectat Deconectat

Mesaje: 472



Vezi Profilul
« Răspunde #49 : Iunie 05, 2011, 14:34:01 »

aveti cumva vreo idee daca O(N * M * 2 M) mai intra in timp? Ca eu tot incerc sa optimizez si nu prea imi iese...

Legat de solutia O(N * M * Fibonacci (M))  stiti cumva vreun articol / ceva de genul?
Memorat
Pagini: 1 [2] 3   În sus
  Imprimă  
 
Schimbă forumul:  

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