Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 018 Siruri 2-3-monotone  (Citit de 17852 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
fluffy
Echipa infoarena
De-al casei
*****

Karma: 71
Deconectat Deconectat

Mesaje: 146



Vezi Profilul
« : Martie 08, 2004, 20:04:15 »

Aici puteţi discuta despre problema Siruri 2-3-monotone.
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #1 : Ianuarie 29, 2005, 12:04:48 »

Poate cineva sa-mi spuna si mie cum se rezolva aceasta problema sau sa-mi dea un indiciu? Ce complexitate ar trebui sa aiba (nu e nici o restrictie in problema pt n)?
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #2 : Ianuarie 29, 2005, 13:31:39 »

Iti inteleg nelamurirea. Enuntul nu este "case sensitive" Smile deci n = N <= 1000. Complexitatea recomandata este de O(N^2). O solutie O(N^3) poti gasi si pe .campion (problema a fost propusa la o runda de pregatire la grupa mare). Solutia de pe .campion poate fi imbunatatita si se ajunge la o solutie O(N^2) folosind cateva observatii matematice.

Succes,

Silviu
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #3 : Ianuarie 30, 2005, 12:13:07 »

Sau se poate face oricand un O(1)  Tongue  Tongue  Tongue
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #4 : Ianuarie 30, 2005, 14:04:57 »

Spune-mi si mie cum faci O(1) ... ca eu nu stiu !!

Silviu

PS: Solutia cu constante e O(N) (mai judeca un pic si o sa vezi ca am dreptate Tongue)
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #5 : Ianuarie 30, 2005, 21:43:57 »

Cod:

int main () {

   freopen("sir23.in","r",stdin); freopen("sir23.out","w",stdout);
   scanf("%d", &k);
   printf("%d\n", s[k-1]);

   return 0;
}


No deci dupa judecata mea asta ii O(1)..
Dc nu explica-mi si mie terog dece e O(n)  Rolling Eyes
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #6 : Ianuarie 30, 2005, 21:57:04 »

Si unde e partea cu initializarea ?? Aia ce complexitate are ?
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #7 : Ianuarie 31, 2005, 16:09:40 »

:lol: declar un sir de constante de lungime constanta 1000
nu il pun acuma aicia din motive evidente.
Da oricum e O(1) sau oricum as initializa O(1000) = O(1) nu ??  Tongue  Tongue  Tongue
 wink
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #8 : Ianuarie 31, 2005, 16:32:34 »

Pai atunci orice problema de pe infoarena e rezolvabila in mai putin de 100^100 operatii, deci orice problema de pe infoarena e rezolvabila in O(1).
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #9 : Ianuarie 31, 2005, 18:33:50 »

Citat din mesajul lui: ParrAzitU
:lol: declar un sir de constante de lungime constanta 1000
nu il pun acuma aicia din motive evidente.
Da oricum e O(1) sau oricum as initializa O(1000) = O(1) nu ??  Tongue  Tongue  Tongue
 wink


hai sa fim seriosi; e O(N);
ca stii tu ca N=1000 si iti da O(1000) bravo; dar asa poti sa zici la orice problema ca ai complexitate O(N*M*K), iar tu stii ca N,M si K au maxim 10^10; deci ai complexitate maxima O(10^30)=O(1)
nu?!?
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #10 : Ianuarie 31, 2005, 18:56:25 »

Parazitule.. ideea e ca numarul de initializari pe care le faci depinde de N. Ca e N-ul mai mic ca o mie e o pura intamplare Very Happy.. deci pentru problema ta, daca N-ul creste, iti creste si numarul de initializari => complexitate O(N) !!
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #11 : Ianuarie 31, 2005, 19:04:48 »

Pai acuma nu vreau sa insist prea mult pe kestia asta, nu mi se pare asa de important, da oricum e O(1) , ca am 1000 de initializari, oricat ar fi N. (e declarat un sir de constante de lungime 1000) deci e O(1)!
alte pareri ?  Twisted Evil  Twisted Evil
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #12 : Ianuarie 31, 2005, 19:08:32 »

Citat din mesajul lui: svalentin
Citat din mesajul lui: ParrAzitU
:lol: declar un sir de constante de lungime constanta 1000
nu il pun acuma aicia din motive evidente.
Da oricum e O(1) sau oricum as initializa O(1000) = O(1) nu ??  Tongue  Tongue  Tongue
 wink


hai sa fim seriosi; e O(N);
ca stii tu ca N=1000 si iti da O(1000) bravo; dar asa poti sa zici la orice problema ca ai complexitate O(N*M*K), iar tu stii ca N,M si K au maxim 10^10; deci ai complexitate maxima O(10^30)=O(1)
nu?!?


Deci acuma serios.... dc stii cum se evalueaza complexitatea algoritmului, ai stii ca dc nu depide de nici o variabila e O(1) ... asa ca nu vad rostul O(N*M*K) = O(10^30) = O(1).. mai gandestete tu
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #13 : Ianuarie 31, 2005, 19:11:20 »

Pai si la tine e acelasi lucru: O(N) initializari = O(1000) = O(1) !! (ceea ce e naspa!!)
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #14 : Ianuarie 31, 2005, 19:16:44 »

Acuma serios, asta e ultimul lucru care il zic :
nu sunt n intializari ca sunt 1000 !!
oricat ar fi n si dc e 2, sau  3 sau ...
defapt  e o singura initializare a unui sir de 1000 de constante, da dc voi vreti sa zicem ca sunt 1000 de initializari
Cum sa fie O(N) initializari Huh Sunt clar O(1) !!! Ce e asa de greu ?
In fine dc tu vrei e O(N), sau poate O(N^2) dc N e sqrt(1000) cumva si eu intializez de 1000 sau cat vrei tu

Next subj, ca deja asta ma plictiseste...
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #15 : Ianuarie 31, 2005, 19:23:23 »

Mah.. daca N-ul maxim creste .. ce face numarul de initializari pe care il faci tu Huh ramane acelasi HuhHuhHuhHuhHuhHuhHuhHuhHuhHuh?

Raspuns: NU!!!

Sau si mai marfa!!!


Cate locatii ai in memorie ?
Raspuns: O(N)
Cat iti ia sa le initializezi ?
Raspuns: O(N)
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #16 : Ianuarie 31, 2005, 22:21:37 »

doar sa ai gija ca la concursuri sa nu scoti complexitati ca O(N), dar cu constanta 1000*1000 Smile
Memorat
ParrAzitU
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 73



Vezi Profilul
« Răspunde #17 : Ianuarie 31, 2005, 23:23:05 »

Citat din mesajul lui: svalentin
doar sa ai gija ca la concursuri sa nu scoti complexitati ca O(N), dar cu constanta 1000*1000 Smile


Stai linistit ca imi intra in 0.1 secunde cu constanta 1000*1000...
Nu vad problema...
Memorat

I'll be smiling as I decompose - the reaper awaits us all.
cristy
De-al casei
***

Karma: 2
Deconectat Deconectat

Mesaje: 136



Vezi Profilul
« Răspunde #18 : Aprilie 12, 2005, 18:49:30 »

auziti...imi spune si mie cineva care sunt alea 4 solutii pentru n=2? si cele 9 pentru n=3? pls... Rolling Eyes
Memorat

... lipsa de inspiratie ...
danburzo
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #19 : Aprilie 12, 2005, 21:18:02 »

Citat din mesajul lui: silviug
Cate locatii ai in memorie ?
Raspuns: O(N)
Cat iti ia sa le initializezi ?
Raspuns: O(N)


Nu inteleg silviug ce e asa de greu sa te prinzi. Te rog sa-mi explici si mie cum depinde de n faptul ca eu am in program :
Cod:
int[1000]={1,2,3, bla bla}

alocarea se face intr-un spatiu constant de memorie si in timp constant - tot timpu sunt 1000 de chestii for crying out loud  Brick wall .

Cred ca confunzi cu citirea a n numere sau nush.

Nu stiu cum vedeti voi, dar eu cred ca e O(1).

So sue me .  Cool
Memorat

Old aunts used to come up to me at weddings, poking me in the ribs and cackling, telling me, "You're next." They stopped after I started doing the same thing to them at funerals.
cristi8
Vizitator
« Răspunde #20 : Aprilie 12, 2005, 22:38:51 »

se fac NMAX operatii, nu n .. si NMAX e constant.. la timp, intr-un fel e      o(n) pe cazul cel mai defavorabil... dar la complexitate ramane teoretic     o(1) cu o constanta f mare (NMAX)..

dar in practica e mai bine sa "iei" o(n) , sa aproximezi mai bine timpul de executie



..parerea mea
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #21 : Aprilie 12, 2005, 22:53:39 »

Citat

Nu inteleg silviug ce e asa de greu sa te prinzi. Te rog sa-mi explici si mie cum depinde de n faptul ca eu am in program


Si iar incepem .. Smile

Tu ai NMAX locatii de memorie care in cazul de fata e 1000. Okay, toate bune si frumoase dar daca marim valoarea maxima a lui N la, sa zicem, la 10^6 ce vei face ? Programul tau tot 1000 de locatii de memorie / operatii va folosi ?

Raspunsul este clar: NU => numarul de operatii facute de programul tau depinde de N, si mai exact, face O(N) operatii folosind O(N) memorie.

Reamintesc ca e o chestiune subtila aici in care va prindeti urechile. Daca programul tau e intr-adevar O(1) inseamna ca oricat de mare ar fi N-ul (adica facand N sa tinda la infinit) tu tot un numar constant de operatii faci.. wich is not the case!!! Not talking

Eu zic sa te mai dai odata cu capul de zid si sa mai citesti eventual vreun articol despre calcularea complexitatii unui algoritm (iti recomand Cormen).

Si acum e randul meu  Brick wall cu promisiunea ca acesta este ultimul post despre acest subiect.

Silviu
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #22 : Aprilie 13, 2005, 09:50:19 »

In toate notatiile asimptotice N tinde spre infinit.
Cand spui ca ai facut un algoritm de complexitate O(f(n)) faci abstractie de "NMAX-uri".

Citat din mesajul lui: Fr3eM4n
se fac NMAX operatii, nu n .. si NMAX e constant..

pai daca vrei s-o iei asa (no pun intended), majoritatea problemelor de informatica rezolvabile pe calculator au un "NMAX", deci avem timp constant... chiar daca algoritmul e O(N^N).
 Dancing
Memorat
cristi8
Vizitator
« Răspunde #23 : Aprilie 13, 2005, 15:13:30 »

da ma da ! asa e... o(n) .. sry  Embarassed  

..se confunda n din o(n) cu n-ul care se citeste..
Memorat
danburzo
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #24 : Aprilie 13, 2005, 16:28:42 »

Io zic sa lasam subiectul balta. Oricum sorry ca m-am bagat in povestea asta. Poate ca mai am de invatat... si cand pa prind io ce compexitate are de fapt va scriu wink
Am inceput pe picior gresit oricum  Mr. Green
Memorat

Old aunts used to come up to me at weddings, poking me in the ribs and cackling, telling me, "You're next." They stopped after I started doing the same thing to them at funerals.
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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