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

Kolejka monotoniczna

Object Storage Arubacloud
0 głosów
168 wizyt
pytanie zadane 21 maja 2023 w C i C++ przez Dani Obywatel (1,450 p.)
Cześć, macie jakieś fajne materiały edukacyjne do kolejki monotonicznej?

1 odpowiedź

+3 głosów
odpowiedź 21 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
wybrane 21 maja 2023 przez Dani
 
Najlepsza
Zacznijmy od tego co to jest kolejka monotoniczna, jest to struktura danych, na której chcemy trzymać minimum/maximum itp. Na przedziale, który pełznie jak gąsienica. Sama jej idea jest bardzo prosta. Załóżmy że chcesz mieć kolejkę monotoniczna minów. Jeśli dodajesz jakiś element A[i], to wywalasz wszystkie elementy > A[i], bo one nigdy nie będą minem. Jeśli usuwasz element to sprawdzasz czy najmniejszy na całej kolejce = A[i], jak tak to go usuwasz. A odwołanie do mina to Q.front(),o ile implementujesz na deque w c++. Te procedury dodaj, usuń, odczytaj mina mają po kilka linijek, to jest naprawdę takie proste.

Zadania na nią to np:

- Temperatura OI

- Wilcze Doły OI

- Fajnym ćwiczeniem jest zadanie: masz tablice A, dla każdego elementu wyznacz pierwszy mniejszy na lewo. (Można też drzewem przedziałowym)

- Jest też bardzo fajne zadanie Prawnicy z OI, ono nie jest na kolejkę monotoniczna, ale bardzo polecam.

Warte podkreślenia jest, że kolejkę monotoniczna można praktycznie zawsze zastąpić setem/multisetem, ale jest wolniejsze bo dziala w logu.
komentarz 22 maja 2023 przez Dani Obywatel (1,450 p.)
Jaką złożoność miała by taka kolejka?
1
komentarz 22 maja 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
Każdy element maksymalnie raz dodasz i maksymalnie raz z niej weźmiesz, czyli O(N).

Podobne pytania

0 głosów
1 odpowiedź 95 wizyt
pytanie zadane 22 maja 2023 w C i C++ przez Dani Obywatel (1,450 p.)
0 głosów
2 odpowiedzi 753 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Łukasz Świtaj Użytkownik (520 p.)
0 głosów
0 odpowiedzi 237 wizyt
pytanie zadane 25 listopada 2019 w Algorytmy przez Oskardes Użytkownik (600 p.)

92,548 zapytań

141,391 odpowiedzi

319,511 komentarzy

61,932 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!

...