eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingzadanie z netu › Re: zadanie z netu
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: zadanie z netu
    Date: Thu, 28 Mar 2013 16:39:59 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 87
    Message-ID: <kj1o8h$mg9$1@node2.news.atman.pl>
    References: <2...@g...com>
    <0...@g...com>
    <kj047e$kbo$1@node1.news.atman.pl> <kj1535$k5f$1@mx1.internetia.pl>
    NNTP-Posting-Host: 144-mi3-6.acn.waw.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1364485201 23049 85.222.69.144 (28 Mar 2013 15:40:01
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 28 Mar 2013 15:40:01 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307
    Thunderbird/17.0.4
    In-Reply-To: <kj1535$k5f$1@mx1.internetia.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:202356
    [ ukryj nagłówki ]

    W dniu 2013-03-28 11:04, Michoo pisze:
    > On 28.03.2013 01:51, bartekltg wrote:
    >> W dniu 2013-03-27 19:24, M.M. pisze:
    >>> W dniu środa, 27 marca 2013 19:18:28 UTC+1 użytkownik firr kenobi
    >>> napisał:
    >>>> jak by nalezalo napisac taki program ?
    >>> Chyba zahaszować pary (słowo,częstość).
    >>
    >> Ogolnie jakakolwiek mapa i powinno pójść w miarę sprawnie.
    >>
    >> Hashowana pewnie będzie sprawniejsza. Unorderet_set
    >> ma co najmniej iterator z inkrementacją, więc
    >> i ze znalezieniem na koniec maksimum problemu nie będzie.
    >>
    >> Można by się ewentualnie zastanowić nad czymś w rodzaju
    >> drzew trie czy patricia, ale skoro nie
    >> musimy się przejmować pamięcią, nic nie zyskujemy,
    >> a wydajność leci.
    >>
    >> No to stl, szybki hash i sprawny odczyt (pewnie trzebaby
    >> wyhakować sobie własny, bo strumienie wolne;)
    >
    > I ty brutusie?
    >
    > sync_with_stdio?? iostream jest od pewnego czasu już równie szybkie co
    > stdio

    Wiem wiem;)

    BTW, czy taki printf w pętli za każdym razem parsuje ten
    swój napis typu "%d"?

    > No chyba, ze extreme: jak po linuxem to można użyć czystego read albo
    > jeszcze lepiej mmap

    W przykładzie który widziałem (właśnie z takich konkursików)
    gość użył fgets + bufor + własne przerabianie na liczby.

    Miało to sens (zmieniało czas) gdy cały algorytm sprowadzał się do
    odczytania n cyfr i ich posumowania (do czego dochodziło się
    po dłuższej matematyce:)
    Tak akurat było to na zasadzie kto zrobi + limit czasu na tyle długi,
    aby czytać to odpaloną javą bit po bicie;) ale jakby to był
    wyścig 'kto szybciej', pewnie było by warto.

    U nas tablica mieszająca i tak pewnie zasłoniłaby swoim czasem
    działania szczegóły wczytywania.


    W normalnym użyciu tez bym się tym zupełnie nie przejmował
    i uzywał ulubionego z iostream/sdtio.

    > Trzeba zrobić szybkie lower/upper (pewnie lookup table, nieduże w sumie).

    O zapomnialem o tym. Tablica na 256 elementów to nie problem,
    a dzieki temu za darmo mamy utożsamienie wszystkich białych
    znaków, interpunkcji etc.

    >
    > Hash podejrzewam, że sprawdzi się w postaci:
    >
    > uint_least32_t hash=0;
    > uint_fast16_t len=0;

    Ech, piękne te typy;)

    > for(char c:str){
    > hash^=c;
    > hash<<=1;
    > len++;
    > }
    > hash=(hash<<4)^len;

    Widzę, jak działa, ale dlaczego sądzisz, że będzie dobry?
    Nie mam zupełnie doświadczenia w konstruowaniu hashów.


    > I szczerze mówiąc to jakby to był jakiś konkurs na zwolnienie z egzaminu
    > to pewnie bym w ASM wstawki rzeźbił.

    :-)

    Pzdr
    bartekltg



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: