-
Data: 2012-01-30 02:30:31
Temat: Re: odchylenie standardowe online
Od: "Jordan Szubert" <u...@j...us.to> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 30-01-2012 o 02:47:21 M.M. <m...@n...gazeta.pl> napisał(a):
> Czesc
>
> Jest liniowa tablica malych liczb staloprzecinkowych
> int tablica[1..N];
> N jest dosc duze, rzedu 100tys do 10mln.
>
> Jest tablica indeksow
> int index[1..M]
>
> Kazdy index[i] dzieli tablice na pare tablic:
> tablica_a[1..index[i]]
> tablice_b[index[i]+1..N]
>
> Czyli tablica_a ma index[i] pierwszych elementow z tablicy
> a tablica_b ma elementy pozostale.
>
> Zadanie jest takie, aby szybko oszacowac odchylenie standardowe dla
> kazdej
> pary tablic ( dla kazdej tablicy w kazdej parze, razem 2*M odchylen ).
> M niestety moze przyjmowac duze wartosci, a wiec par moze byc duzo,
> np. M ~= N / log(N).
>
> Mozna to policzyc jakims algorytmem online, albo np. algorytmem ktory
> przebiega cala tablice nie wiecej niz 10 razy?
moze cos takiego zadziala:
//input:
int tablica[1..N];
int indeksy[1..M];
//output:
int sigma_lower[1..M];
int sigma_upper[1..M];
//temp:
int tmp_sx[1..N];
int tmp_sxx[1..N];
int sx=0;
int sxx=0;
//prepare
for(int i=1;i<=N;i++){
sx=tmp_sx[i]=sx+tablica[i];
sxx=tmp_sxx[i]=sxx+tablica[i]*tablica[i];
}
//use
for(int j=1;j<=M;j++){
sigma_lower[j]=sqrt(tmp_sxx[indeksy[j]]/indeksy[j]-(
tmp_sx[indeksy[j]]/indeksy[j])*(tmp_sx[indeksy[j]]/i
ndeksy[j]);
sigma_upper[j]=sqrt((sxx-tmp_sxx[indeksy[j]])/(N-ind
eksy[j])-((sx-tmp_sx[indeksy[j]])/(N-indeksy[j]))*((
sx-tmp_sx[indeksy[j]])/(N-indeksy[j])));
}
czas bedzie rzedu N+M, dodatkowa pamiec rzedu N
w sumie to od razu moglbys policzyc se odchylenia dla wszystkich podzialow
tablicy
--
Jordan Szubert
Następne wpisy z tego wątku
- 30.01.12 04:27 M.M.
- 30.01.12 04:42 M.M.
- 30.01.12 04:53 bartekltg
- 30.01.12 05:25 M.M.
- 01.02.12 16:49 slawek
- 01.02.12 20:50 jolz
- 01.02.12 22:02 M.M.
- 01.02.12 23:54 bartekltg
- 02.02.12 18:17 slawek
- 02.02.12 18:23 slawek
- 02.02.12 22:00 M.M.
- 03.02.12 09:43 bartekltg
- 03.02.12 09:54 M.M.
- 03.02.12 10:19 bartekltg
- 03.02.12 10:23 bartekltg
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=