Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 175 Demolish  (Citit de 4146 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ditzone
Vizitator
« : Ianuarie 25, 2006, 21:58:06 »

Aici puteţi discuta despre problema Demolish.
Memorat
spatarel
Strain
*

Karma: 31
Deconectat Deconectat

Mesaje: 37



Vezi Profilul WWW
« Răspunde #1 : Februarie 12, 2006, 22:30:09 »

E clar ca fie testele fie enuntul sunt gresite...

Am gasit teste (9 si 10) in care exista dreptunghiuri de cost 0, iar in enunt scrie:

Citat
0 < C ≤ 200 000


Mai mult decat atat... am mai gasit ceva! Testul 6 nu respecta una din urmatoarele conditii (nu stiu exact care):

Citat
0 < DY
y1 < y2 (pentru cel putin unul dintre dreptunghiuri)
Memorat

Atat am avut de spus
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #2 : Februarie 13, 2006, 10:01:16 »

Cum ai gasit asta??? Eu cred ca sunt corecte din cate imi amintesc de la generatorul de teste... O sa le verific in seara asta si o sa postez pe forum in caz ca e necesar.

                                                                              Filip b.
Memorat
greco
Nu mai tace
*****

Karma: 144
Deconectat Deconectat

Mesaje: 434



Vezi Profilul
« Răspunde #3 : Februarie 13, 2006, 11:33:17 »

Pai e simplu sa verifci ceva in teste...

if (conditie) for ( ; ; );

Te uiti la monitor si vezi daca ai vreun TLE.
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 #4 : Februarie 13, 2006, 18:45:01 »

Testul 6 este corect ( indeplineste ambele conditii ).
Enuntul se modifica astfel:
Cod:
0 ≤ C ≤ 200 000

in loc de
Cod:
0 < C ≤ 200 000

Nu modifica oricum cu nimic rezolvarea sau rezultatele. Sorry, este prima si ultima data Tongue
Memorat
spatarel
Strain
*

Karma: 31
Deconectat Deconectat

Mesaje: 37



Vezi Profilul WWW
« Răspunde #5 : Februarie 13, 2006, 20:56:32 »

M-ati dezamagit Sad. Nu ati modificat nimic in enuntul problemei...  Thumb down

Eu am reusit sa iau in final 100 de puncte, insa initial ma obtinut doar 70 Sad. Dupa ce am depanat ultimele buguri aveam 2 TLE (testele 9 si 10) si un RUN ERROR (testul 6).

Dupa o multime de submit-uri, am reusit sa-mi dau seama ca TLE-urile erau cauzate de dreptunghiuri cu costul 0 (si nu mi se pare normal sa am probleme din cauza unor astfel de teste, in special daca nu apar mentionate in enunt - de aceea este foarte important ca testele sa respecte restrictiile din enunt wink).

In final, am corectat si testul 6 si am constatat ca sursa mea ar fi avut probleme cu dreptunghiurile cu proprietatea Y1 - DY + 1 > Y2 - 1. Oricum, eu mi-am corectat sursa, astfel incat sa functioneze si in unele conditii extreme...

Urmatoarele teste mergeau bine pe sursa mea veche:
Y1 - DY + 1 <= Y2 - 1 =>
Y1 <= Y2 + DY - 2 =>
Y2 < Y2 + DY - 1 =>
Daca 0 < DY atunci Y2 < Y2

Am gresit ceva? Question

Oricum, este la fel de posibil ca testul 6 sa aiba o alta proprietate ciudata, pentru care am luat aceal RUN ERROR, asa ca nu o sa mai insist. Dar, nu uitati sa modificati enuntul Wink.
Memorat

Atat am avut de spus
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #6 : Februarie 13, 2006, 21:38:15 »

Gata, s-a modificat Smile
Memorat
u-92
Vizitator
« Răspunde #7 : Aprilie 04, 2006, 18:07:05 »

eu pentru fiecare y de la 0 la N gasesc costul minim a.i. sa am coordonata din dreapta y, iar pt acesta x`ul minim (folosesc un arbore de intervale).. totusi pe testele 2, 6 primesc run error iar pe 7 WA. am pus si long long, am marit dimensiunile vectorilor dar tot nu iau mai mult. un hint/o idee ceva, mi-ar fi de folos..
Memorat
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #8 : Aprilie 04, 2006, 18:32:13 »

Nu prea am inteles cum faci tu, dar se procedeaza cam asa: pentru o dreapta de baleiere verticala, presupui ca latura stanga a dreptunghiului tau de laturi (DX, DY) se afla pe aceasta dreapta. Acum trebuie sa afli care este cel mai convenabil segment de lungime DY pe OY, adica suma costurilor intervalelor curente care intersecteaza intervalul respectiv sa fie minim posibil. Pentru asta, ca la parcele, folosesti arbori de intervale.
Cand muti la stanga dreapta de baleiere scoti dreptunghiurile ( intervalele asociate lor de pe Oy de fapt ) care au depasit dreapta si bagi alte dreptunghiuri noi si iar calculezi cel mai bun interval pe Oy, etc.
Memorat
u-92
Vizitator
« Răspunde #9 : Aprilie 04, 2006, 18:43:38 »

ai descris exact modul in care am rezolvat-o eu Smile
Memorat
vladcyb1
Vorbaret
****

Karma: 33
Deconectat Deconectat

Mesaje: 166



Vezi Profilul
« Răspunde #10 : Iulie 24, 2006, 23:48:39 »

Trebuie folosit int64 in sursa ? Si eu pic testele 2,6,7  Raised eyebrow
Memorat

Vlad Berteanu
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #11 : Iulie 25, 2006, 11:12:29 »

NU neaparat, eu nu am folosit in sursa mea.
E o coincidenta probabil, s-au luat deja multe punctaje maxime...
« Ultima modificare: Iulie 25, 2006, 11:17:03 de către filipb » Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #12 : August 24, 2007, 06:58:55 »

Imi spuneti o complexitate care ar intra, va rog? Eu m-am gandit la un O(n + f*n*lgn), dar nu asta nu cred ca intra. M-am gandit ca pentru fiecare punct pe y, sa aflu costul pentru segmentul y, y+dy, si fac asta doar cand fac update(ies sau intru intr-o ferma). Pot sa folosesc arborii de intervale ca sa aflu mai rpd segmentul de lungime dy de cost minim?
Memorat

....staind....
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #13 : August 24, 2007, 08:22:23 »

O(M log N), dar daca folosesti coordonatele pe Ox ale dreptunghiurilor atunci poti scoate O(F log N). Pe Oy folosesti arbore de intervale, de unde O(log N) pe update si O(1) pe query.
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #14 : August 31, 2007, 18:33:41 »

Se poate face evaluatorul astfel incat sa dea mesaje diferite pentru cost gresit si pozitia fermei gresita?
Memorat

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

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #15 : August 31, 2007, 19:10:04 »

Am modificat, dar difera doar mesajul, punctajul este acelasi.
Memorat
margiki
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #16 : Februarie 28, 2016, 20:38:37 »

Se poate posta un test ?
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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