•sanitarium
Strain
Karma: 0
Deconectat
Mesaje: 7
|
|
« : Februarie 29, 2004, 14:34:38 » |
|
au fost criminale!!!! care a dat problema aia de geometrieeeeeeeee? te pregatesti un an facand chestii frumoase si iti dau asa ceva si te omoara. sunt cumva singurul cu punctajul fatidic de 23 de puncte?
|
|
|
Memorat
|
|
|
|
•SleepyOverlord
Client obisnuit
Karma: 10
Deconectat
Mesaje: 59
|
|
« Răspunde #1 : Februarie 29, 2004, 15:43:22 » |
|
Geometria chiar era urata, insa cealalta mi s-a parut facubila. Shi dupa cum am vazut se dadea 30% numai pe determinarea drumului minim. Asa ca..
|
|
|
Memorat
|
God is dead - Nietzsche Nietzsche is dead - God
|
|
|
•rush
Strain
Karma: 0
Deconectat
Mesaje: 2
|
|
« Răspunde #2 : Februarie 29, 2004, 17:12:03 » |
|
Prima problema mie mi s-a parut imposibila iar a doua era si ea destul de grea dar aboradabila! 30% pt. timpul minim din prob2. nu era chiar asa usor de obtinut pt. ca nu mergea un simplu roy floyd sau dijktra cum parea la prima vedere! in arges singurul care a luat ceva la prima problema este cel care se duce si la nationala si a facut cu back! Deci spuneti si voi ceva daca mai ramane ceva de zis!!!
|
|
|
Memorat
|
|
|
|
•sanitarium
Strain
Karma: 0
Deconectat
Mesaje: 7
|
|
« Răspunde #3 : Februarie 29, 2004, 17:30:01 » |
|
problema cu lanterna nu am inteles-o. zicea prin enunt ca primeaza timpul minim, adica nu conteaza puterea ci timpul. si mai scria ca se garanteaza existenta solutiei. nu am prea inteles eu ce cauta k ala pe acolo. nici nu am putut sa intreb pe nimieni pt lamuriri asa ca am facut ce a priceput limba mea romana. bineinteles, nu ceea ce se cerea.
|
|
|
Memorat
|
|
|
|
•SleepyOverlord
Client obisnuit
Karma: 10
Deconectat
Mesaje: 59
|
|
« Răspunde #4 : Februarie 29, 2004, 17:57:45 » |
|
Din ce am inteles eu, k era valoarea maxima in wati.. shi trebuia sa gasesti timpul minim, shi numarul de wati minim, pentru care se obtine timpul minim, care dupa mine se poate gasi cu cautare binara in cel mai rau caz, insa cred ca nu e necesar. Iar geometria nu era imposibila, ci necesita niste cunostinte mai vaste... (o, shi viteza extrem de mare la implementare)
|
|
|
Memorat
|
God is dead - Nietzsche Nietzsche is dead - God
|
|
|
•rush
Strain
Karma: 0
Deconectat
Mesaje: 2
|
|
« Răspunde #5 : Februarie 29, 2004, 19:17:24 » |
|
la problema 1 zic eu ca trebuiau niste cunostinte mult mai mult decat vaste pt. rezolvarea ei iar la cealalta trebuia det. timpul minim insa totodata in acest timp trebuia sa folosesti o lanterna de maxim k wati! Lucru care nu era posibil pt. primul timp minim gasit, in majoritatea testelor! De aceea multi n-au luat toate punctele care se dadeau pt. timpul minim!
|
|
|
Memorat
|
|
|
|
Boogieman
Vizitator
|
|
« Răspunde #6 : Februarie 29, 2004, 21:13:02 » |
|
la prima? cunostinte vaste vaste? era doar mult de lucru eu mi-am pierdu 2 ore jumate cu ea si pe cealalta care era super simpla nu am mai facut nimic( am crezut ca o sa mearga lejer cu rotfloyd sau dijksta - pe draq) :cry: deci prima se facea asa: 1)odata ordonai punctele ca sa fie in ordine (vedeai care sunt cele mai apropiate de fiecare punt) 2)faceai o functie de aflare a suprafetei poligonului( il imparteai in triunghiuri si faceai cu formula lui heron si distentele le calculezi cu geometrie analitica 3)dupa care luai fiecare punct si incercai odata sa-l aduci pe mediatoarea segmentului format din cei 2 pari de langa el , si daca ajunge pana acolo si in sus 4)ce am zis la 3 faci odata pt numerele pare, si apoi pt alea impare ( nu e voie sa fie pari unu langa altu mutati) si vezi care ii mai bine 5) afisezii diferenta
cam asa.... ideea e ca eu nu am reusit sa o fac in 3 ore... nashpa
|
|
|
Memorat
|
|
|
|
•vlad_io
Strain
Karma: 0
Deconectat
Mesaje: 2
|
|
« Răspunde #7 : Februarie 29, 2004, 23:36:06 » |
|
Algoritmul tau e gresit. Incepi bine (ca sa ordonezi punctele faci infasuratoare convexa), dar nu iei in calcul ca diferenta optima poate fi obtinuta si modificand punctele 1-4-6 sa zicem... Nu e obligatoriu sa le iei numai pe cele pare sau pe cele impare. Ca sa afli diferenta optima faci o programare dinamica simpla, fiecare puncte are doua posibilitati, modificat sau nu... Daca m-as fi gandit asa si azi dimineata...
|
|
|
Memorat
|
|
|
|
•sanitarium
Strain
Karma: 0
Deconectat
Mesaje: 7
|
|
« Răspunde #8 : Februarie 29, 2004, 23:50:19 » |
|
exact asta am facut si eu. le luam din 2 in 2. dar nu era bine! bineinteles ca nu puteam sa imi dau seama decat dupa ce am iesit din concurs! infasuratoarea convexa se putea face cat mai taraneste posibil ca n era min (parca 50). nu mi-a dat prin cap dinaminca aia!!!! daca erau teste ca anul trecut luam vreo 90 de puncte la ea, dar cred ca prea au fost criticati pentru testele proaste de anu' trecut si anu' asta s-au razbunat. si totusi problema cu lanterna era foarte, foarte ambigua chiar m-am gandit la posibilitatea de a rezolva ce cer ei, dra mi se parea ca textul zice clar ce am facut eu.
|
|
|
Memorat
|
|
|
|
•SleepyOverlord
Client obisnuit
Karma: 10
Deconectat
Mesaje: 59
|
|
« Răspunde #9 : Martie 01, 2004, 00:14:42 » |
|
Mda, shi pe langa chestiile zise de vlad, mai e o chestie: aria unui triunghi calculezi cu determinant nu cu Heron, shi poate sunt eu putin slab la geometrie dar nu stiu "din prima" ecuatia mediatoarei.
|
|
|
Memorat
|
God is dead - Nietzsche Nietzsche is dead - God
|
|
|
Boogieman
Vizitator
|
|
« Răspunde #10 : Martie 01, 2004, 14:45:16 » |
|
de ce sa o stii din prima? ... o deduci... afli mijlocul segmentului dupa care gaseti dreapta perpendiculara pe segment care trece prin punctu ala. dupa care vrei ca punctul unde o sa ajungi cu paru sa fie cat mai aproape, daca nu ajunge pana la dreapta si cat mai departe de segment...
cum cu determinanti? eu l-am intrebat azi pe profu` de mate si o zis ca nu prea este alta metoda de aflare a ariei unui poligon fara heron( in xOy )
cum cu determinanti ( la nivel de clasa XI) cu ce am facu t pana acum la mate?
aia cu lanterna la mine in satu mare majoritatea au facut dijkstra numai pentru timp ( adica spionu` ramanea dupa un timp fara lanterna) si desi timpul era cel mai scurt nu au reusit sa prinda nici un test (mici exceptii).
in alta ordine de idei... se pare ca aici la mine in satu mare am luat locu` 2 si probabil ma duc la oni
|
|
|
Memorat
|
|
|
|
•sanitarium
Strain
Karma: 0
Deconectat
Mesaje: 7
|
|
« Răspunde #11 : Martie 01, 2004, 15:34:32 » |
|
ce aveti mai cu mediatoarea aia. se prelungea segmentul pe inaltime pentru a obtine o arie maximala! aria triunghiului= baza*inaltimea/2. cum baza era fixa, pentru a creste aria cresteai inaltimea. si doua drepte sunt perpendiculare daca produsul pantelor lor este -1.
|
|
|
Memorat
|
|
|
|
Boogieman
Vizitator
|
|
« Răspunde #12 : Martie 01, 2004, 17:46:35 » |
|
ca bine zici sanitarium!!! nu stiu de ce credeam pana acum ca tre sa fie pe mediuatoare. ca de fapt oriunde asr fi punctu ala (parau care se misca) aria ramane neschimbata ( adica b*h/2 constant) si atunci te duci perpendicular in partea opusa segmentului. corect!
dar mai e o problema care inca nu mi-e foarte clara! cum faci fara backtracking toate posibilitatile de combinare ( ca sa vezi care e mai buna?
|
|
|
Memorat
|
|
|
|
•vlad_io
Strain
Karma: 0
Deconectat
Mesaje: 2
|
|
« Răspunde #13 : Martie 01, 2004, 18:25:11 » |
|
Aria unui poligon oarecare (poate fi si concav) cu n varfuri este jumatate din suma de i de la 1 la n din determinant de: xi yi xi+1 yi+1 unde xi, yi sunt coordonatelor varfului i. Daca i=n in loc de i+1 se ia 1. Pentru ca sa functioneze punctele trebuie sa fie ordonate in sens orar sau trigonometric. Daca punctele sunt date in sens trigonometric aria da negativa si trebuie sa o iei in modul. dar mai e o problema care inca nu mi-e foarte clara! cum faci fara backtracking toate posibilitatile de combinare ( ca sa vezi care e mai buna?
Nu faci backtracking, faci dinamica...
|
|
|
Memorat
|
|
|
|
Boogieman
Vizitator
|
|
« Răspunde #14 : Martie 01, 2004, 20:30:21 » |
|
da... se pare ca functioneaza formula ( foarte faina si ajuta mult! ) nu am ajuns pana acolo la mate sau nici nu stiu daca se face in XI asa ca faza cu heron merge daca sunt ordonate in orice sens ( numai sa fie ordonate)... deci se putea si fara determinnati... poate ca eu is batutu in cap , sau nu am observat... da la mine im manual (tudor sorin) nu scrie nimic de permutari, aranjamente, combinari dinamic facute! poate ma ajutati voi? :lol:
|
|
|
Memorat
|
|
|
|
•sanitarium
Strain
Karma: 0
Deconectat
Mesaje: 7
|
|
« Răspunde #15 : Martie 01, 2004, 21:50:46 » |
|
era simpla dinamica. m-am pacalit pentru ca credeam ca e optim sa le iei din 2 in 2.
|
|
|
Memorat
|
|
|
|
•sjulean
Strain
Karma: 0
Deconectat
Mesaje: 28
|
|
« Răspunde #16 : Martie 01, 2004, 23:23:17 » |
|
eu is batutu in cap Nu ai nevoie de permutari, aranjamente, combinari. Daca ai diferentele pentru fiecare punct stocate in float a[], iti mai faci un float d[] astfel: d[0] = a[0]; d[1] = a[1]; for ( i = 2; i < n; i++ ) d[i] = ( a[i] + a[i-2] < a[i-1] ? a[i-1] : a[i] + a[i-2] );
Valoarea cautata se va afla in d[n-1]. Corectatzi-ma daca gresesc.
|
|
|
Memorat
|
|
|
|
•cavendish
Strain
Karma: 2
Deconectat
Mesaje: 43
|
|
« Răspunde #17 : Martie 06, 2004, 22:46:40 » |
|
io zic ca foru ala nu face treaba din momentul in care d nu este definit recursiv
|
|
|
Memorat
|
|
|
|
•sjulean
Strain
Karma: 0
Deconectat
Mesaje: 28
|
|
« Răspunde #18 : Martie 07, 2004, 00:14:31 » |
|
nu face treaba Sunt prost. d[0] = a[0]; d[1] = a[1]; for ( i = 2; i < n; i++ ) d[i] = ( a[i] + d[i-2] < d[i-1] ? d[i-1] : a[i] + d[i-2] );
Sunt prost.
|
|
|
Memorat
|
|
|
|
•cavendish
Strain
Karma: 2
Deconectat
Mesaje: 43
|
|
« Răspunde #19 : Martie 07, 2004, 23:29:33 » |
|
asta-i . si poti renunta la d din momentul in care d nu depinde decat de a
|
|
|
Memorat
|
|
|
|
•sjulean
Strain
Karma: 0
Deconectat
Mesaje: 28
|
|
« Răspunde #20 : Martie 08, 2004, 19:39:09 » |
|
Ma simt la fel de obligat ( ) sa-ti atrag atentia ca te-ai exprimat cam dubios, tinand cont ca d continua sa fie o recurenta de ordinul 2 - deci depinde de d[i-1] si d[i-2], nu doar de a.
Acestea fiind spuse, intr-adevar se poate renunta la vectorul d, stocand doar ultimele doua valori din acesta:
d0 = a[0]; d1 = a[1]; for ( i = 2; i < n; i++ ) { d2 = ( a[i] + d0 < d1 ? d1 : a[i] + d0 ); d0 = d1; d1 = d2; }
In acest caz, valoarea cautata se va afla in d2. Sec, nu?
|
|
|
Memorat
|
|
|
|
•cavendish
Strain
Karma: 2
Deconectat
Mesaje: 43
|
|
« Răspunde #21 : Martie 08, 2004, 23:08:11 » |
|
scuze, nu m-am exprimat 100% clar: "asta-i . si poti renunta la d din momentul in care d nu depinde decat de a " si nu de a[i-1] sau a[i-2]. deci dupa o iteratie nu mai ai nevoie de a si poti folosi a pt a tine minte d. atunci
d[0] = a[0]; d[1] = a[1]; for ( i = 2; i < n; i++ ) d[i] = ( a[i] + d[i-2] < d[i-1] ? d[i-1] : a[i] + d[i-2] );
devine for ( i = 2; i < n; i++ ) a[i] = ( a[i] + a[i-2] < a[i-1] ? a[i-1] : a[i] + a[i-2] );
si chiar nu mai ai nevoie de d.
|
|
|
Memorat
|
|
|
|
•ionutz_info
Strain
Karma: 0
Deconectat
Mesaje: 2
|
|
« Răspunde #22 : Martie 09, 2004, 12:38:48 » |
|
d[0] = a[0]; d[1] = a[1]; for ( i = 2; i < n; i++ ) d = ( a + d[i-2] < d[i-1] ? d[i-1] : a + d[i-2] ); [/code] devine
for ( i = 2; i < n; i++ ) a[i] = ( a[i] + a[i-2] < a[i-1] ? a[i-1] : a[i] + a[i-2] );
si chiar nu mai ai nevoie de d. [/quote] Sigur merge? E o lista circulara, totusi, si d[n] depinde de d[1]! Ionutz_info
|
|
|
Memorat
|
|
|
|
•cavendish
Strain
Karma: 2
Deconectat
Mesaje: 43
|
|
« Răspunde #23 : Martie 09, 2004, 22:25:44 » |
|
nu, nu merge, dar e ceva de genu.
|
|
|
Memorat
|
|
|
|
|