• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie litery OI, Drzewa przedziałowe vs Drzewa licznikowe

Object Storage Arubacloud
0 głosów
597 wizyt
pytanie zadane 3 stycznia 2023 w Algorytmy przez pasjonat_algorytmiki Pasjonat (19,540 p.)
edycja 3 stycznia 2023 przez pasjonat_algorytmiki
Robiac zadanie z OI-a: https://szkopul.edu.pl/problemset/problem/V1PYHlhJQGTY6KR5ODoTTYU4/site/?key=statement napisałem kod na 100pkt, drzewami przedziałowymi przedział - punkt, bardzo prosty 60linii. w książeczce OI pisze:

Do tego służyć może struktura danych zwana drzewem licznikowym lub przedziałowym2 . Jest to statyczne drzewo binarne zbudowane nad tablicą liczb t[1. .n]; pozwala ono na wykonywanie w czasie O(log n) następujących operacji:

ustaw(i, x) — przypisz t[i] := x;

suma(l, r) — zwróć sumę t[l] + t[l + 1] + . . . + t[r], przy czym l ¬ r.

1 - Drzewo licznikowe to to samo co drzewo przedziałowe przedział - punkt?

2 - Na Oi-a, polecacie jeszcze jakies struktury z przedzialami oprocz drzew przedział-punkt,punkt-przedział?

3 - Znacie jakies fajne zadania na drzewa przedziałowe?

Ps. Jak ktoś robi to zadanie, to polecam też popatrzeć na zadanie Kulki z finału 15 OIJ-a. Bardzo podobne.

Z góry dziękuję za odpowiedź i poświęcony czas!

edit: nwm czy dobrze przeczytalem, ale jesli to to ze trzyma sume wszystkich swoich potomkow w drzewie, to mozna drzewo podzielic dfs-em post order dodac na ciag i zrobic drzewo przedizał-punkt. Tylko nwm czy to jest drzewo licznikowe.

1 odpowiedź

+1 głos
odpowiedź 4 stycznia 2023 przez Whistleroosh Maniak (56,980 p.)

Drzewo licznikowe to tylko szczególna wersja drzewa przedziałowego punkt-przedział która zlicza sume na przedziale. Samo drzewo przedziałowe punkt-przedział może obliczać dowolną funkcję agregującą na przedziale np. max, xor itd.

Co ciekawe w g++ jest dostępna struktura bardzo podobna do drzewa licznikowego (link)

Na pewno trzeba jeszcze znać drewo przedział-przedział, dynamiczne drzewo przedziałowe, a także warto wiedzieć o drzewie Fenwicka

komentarz 4 stycznia 2023 przez Whistleroosh Maniak (56,980 p.)

Jeżeli chodzi o jakieś zadanie to np. licznik długu z I etapu OI sprzed 2 lat

komentarz 4 stycznia 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
dzięki.

Podobne pytania

0 głosów
0 odpowiedzi 224 wizyt
0 głosów
1 odpowiedź 370 wizyt
pytanie zadane 2 lutego 2023 w C i C++ przez polandonion Mądrala (7,100 p.)

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...