Inbox for mugurel_ionut@yahoo.com    Yahoo! - My Yahoo!     Options - Sign Out - Help
Mail    Addresses    Calendar    Notepad   

www.debticated.com
Download Attachments
    Prev | Next | Inbox
Reply-to: mstroe@pcnet.pcnet.ro (Mihai Stroe)
To: probleme@ldc.ro
Date: Tue, 10 Apr 2001 18:36:31
Subject: Re: probleme mai vechi
From: mstroe@pcnet.pcnet.ro (Mihai Stroe)  | Block Address | Add to Address Book

 
>--- combinari de N luate cate K ---
>
>Ce propune Cristi nu prea are logica, deoarece numerele pe care vrea 
sa
>le-nmulteasca nu sunt intregi.
>
>Rezolvarea in care inmultesti numerele de la N-K+1 la N si apoi
>imparti la 
>1..K nu e prea grozava. O idee pe care am implementat-o pe la cateva 
loturi
>ar fi sa factorizezi. Tii un tabel cu toate numerele prime pana la N 
si in
>loc sa inmultesti (sau sa imparti) cu X adaugi (sau scazi) in tabel 
puterile
>la care apar numerele prime in X. La final, inmultesti toate nr prime 
la
>puterea rezultata. Totusi, nici asta nu intra in timp.
>
        Ba poate sa intre (cu putin noroc). Si eu factorizam, dar
inmulteam intai pe longint pana cand depaseam un anumit numar
(cateva zeci de milioane, cred) si abia dupa aia inmulteam cu nr.
mare. Inmultirea cu nr. mare e O(n), si puterile lui 2 si 3, care
apar mai des, se inmultesc destul de bine pe longint (deci, pt.
2^20, nu faci 20 de inmultiri cu nr. mare, ci una singura). 
        Parca tineam, totusi, in baza 10, dar cu elemente
longint, inmulteam cu un FOR si dupa asta "liniarizam", adica
re-aduceam cifrele in 0-9... Oricum, se poate imbunatati. 


>Ideea e ca pentru N! se poate determina la ce putere apare un numar 
prim P.
>E ceva de genul N/P + N/P**2 + N/P**3... Pentru fiecare numar prim 
determini
>la ce putere apare in N!, scazi puterile pt K! si (N-K)! si il 
inmultesti la
>puterea rezultata. Bineinteles, baza 10**9.
>
        E frumoasa asta. Imi place. Dar esti convins ca e mult mai
buna decat cealalta? Mai ales ca, la cealalta, daca ai, de ex.,
numere prime pana in 100, si ai de adunat 2^2*97, nu tii 2 .... 1
(pe poz. 97), ci doi vectori, unul 2 97 0...0 si celalalt 2 1
0...0. Vectorul in care aduni/scazi e tinut in prima varianta, dar
adunarea/scaderea e mult sub O(100), in medie spre O(1). Am scris
100 in loc de N ca sa fie exemplul mai clar. Gresesc? Nu neg ca e
mai buna, dar nici cu cealalta nu cred ca ai probleme. Am
implementat-o la o pregatire pentru ACM, a mers super. 

        Daca nu e clar, pot detalia. Dar banuiesc ca se intelege.

 ...
>
>Mihai Stroe are dreptate. E cam ca problema aia din 96. Faci NIM pe
>distantele intre piatra 1 si 2, 3 si 4, 5 si 6 etc. Daca N e un numar 
impar,
>shiftezi table la dreapta cu 1 si adaugi o piatra in pozitia 1.
>
        Thanks! Mi-a fost si cam lene sa scriu mai explicit. E bine
ca a venit solutia de la oameni care nu stiau din prima sa o faca,
au "crescut" mai mult decat daca ar fi aflat-o de la altcineva.

>Inca o observatie pentru Mihai. Nu suntem la colegiul tau sa faci pe 
profu
>cu noi.

        A, da? Nu sunt prof la nici un Colegiu. Am fost, mai
demult, la Colegiul Pro, nu mai sunt. 

> Suntem programatori seriosi si desi nu suntem la nivelul tau, nu
>suntem nici noi prea slabi :-).

        Aici te contrazic putin. Sa stii ca poate sunteti si voi la
nivelul meu, mai multi decat credeti :) Desi sunt convins ca as iesi
in primii 3 la aproape orice concurs in tara, daca am o saptamana
sa ma pregatesc... Dupa ce ai fost la doua IOI-uri, nu e cazul sa
consideri ca exista altcineva mai tare ca tine, sincer! Si, chiar
daca nu toti bazatii de pe lista au fost la doua IOI-uri, asta nu
inseamna ca sunt MULT sub nivelul meu. Exemple concrete: Florin
Ghetu (daca e pe lista), Mugurel Andreica. Cred ca oricine va
recunoaste ca ar fi adversari incomozi in concurs. Asta ca sa nu-l
mai pun si pe Bogdan Dumitru (care a fost la un singur IOI, dar
stiti cu totii cat de tare e, s-a vazut si din clasamentele de pe
lista, pe vremea cand se ocupau Catalin si Cristi).
        Mai stii, la Galaciuc, cum ziceati toti ca n-o sa-l ia nici
un roman pe Barton (USA, castigase CEOI-ul si BOI-ul) la IOI? L-a
luat Daniel Dumitran. Deci nimeni nu e invincibil. 
        Dupa ce trec si de Bursele AGORA (sper sa ajung in finala;
asta o sa fie ultimul concurs la care particip, cel putin asa cred)
o sa va spun mai multe despre experienta mea de concurent. Pana
atunci, e bine sa mai am cativa asi in maneca :) 
        Oricum, nivelul olimpicilor a crescut mult in ultimii ani,
si va mai creste. Vor mai "imbatrani" vedete (cum au fost Angel si
Stefan Radu - actualmente studenti, anul asta termina Mihai Patrascu
etc.), dar viitorul este asigurat. Exista destui elevi buni in
clasele mici. 


> Cine trimite o problema poate chiar are
>nevoie de o rezolvare rapid. 

        Atunci sa spuna clar ca e URGENT si daca o stiu si am timp
o trimit.

>Asa ca nu fa chestii d'astea cu va trimit peste
>3 zile, va mai las sa va ganditi etc.

        OK, scuze...

> Cine nu are nevoie urgenta de
>rezolvare poate sa isi ia un timp de gandire inainte sa citeasca 
rezolvarea.
>As sugera orice RE: care include o rezolvare sa includa si [solutie] 
in
>subject, ca sa nu-l citim daca vrem sa ne mai gandim putin (RE:-urile 
fara
>[solutie] ar putea cere clarificari si p-alea tre sa la citim).

        EXCELENTA IDEE!!! Sunt intru totul de acord.

> Oricum, daca
>scrii solutia imediat evitam si fazele alea jenante in care ne tii 
trei zile
>ca ai o solutie si apoi zici ca de fapt cand te-ai apucat sa scrii 
ti-ai dat
>seama ca iti scapa ceva.

        Da, ai dreptate :)
        Uneori reply-urile de la mine vor intarzia si din cauza ca
am probleme cu dial-up-ul, chestie pentru care imi cer scuze
anticipat.

        Mihai 

        P.S. Bafta la ONI, pentru toata lumea!!!

     Prev | Next | Inbox
Download Attachments

Yahoo! Messenger - Send instant messages to friends!
Address Book · Alerts · Auctions · Bill Pay · Bookmarks · Briefcase · Broadcast · Calendar · Chat · Classifieds · Clubs · Companion · Domains · Experts ·Games · Greetings · Home Pages · Invites · Mail · Maps · Member Directory · Messenger · My Yahoo! · News · PayDirect · People Search · Personals · Photos · Shopping · Sports · Stock Quotes · TV · Travel · Weather · Yahooligans · Yellow Pages · more...

Privacy Policy- Terms of Service - Guidelines
Copyright © 1994-2001 Yahoo! Inc. All rights reserved.