Omówienie zada«potyczki Algorytmiczne 2015

Podobne dokumenty
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Wektory w przestrzeni

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Metodydowodzenia twierdzeń

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009

2 Liczby rzeczywiste - cz. 2

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

Algorytmy i Struktury Danych

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

Teoria grafów i jej zastosowania. 1 / 126

Wojewódzki Konkurs Matematyczny

Arkusz 4. Elementy geometrii analitycznej w przestrzeni

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

x y x y x y x + y x y

Wojewódzki Konkurs Matematyczny

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

Stereometria (geometria przestrzenna)

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

1 Metody iteracyjne rozwi zywania równania f(x)=0

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

Szybkie mno»enie wielomianów i macierzy

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Przekroje Dedekinda 1

Geometria. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Listy i operacje pytania

Algorytmy zwiazane z gramatykami bezkontekstowymi

Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw

Lab. 02: Algorytm Schrage

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Ukªady równa«liniowych

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Zbiory i odwzorowania

Zadania z PM II A. Strojnowski str. 1. Zadania przygotowawcze z Podstaw Matematyki seria 2

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

ZADANIA ZAMKNI TE. W zadaniach od 1. do 20. wybierz i zaznacz na karcie odpowiedzi jedn poprawn odpowied.

c Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie

Metody dowodzenia twierdze«

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

12: Znajdowanie najkrótszych ±cie»ek w grafach

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

c Marcin Sydow Wst p Grafy i Zastosowania Wierzchoªki 8: Kolorowanie Grafów Mapy Kraw dzie Zliczanie Podsumowanie

Materiaªy do Repetytorium z matematyki

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Programowanie wspóªbie»ne

Funkcje, wielomiany. Informacje pomocnicze

1 Bª dy i arytmetyka zmiennopozycyjna

Elementy geometrii w przestrzeni R 3

Lekcja 12 - POMOCNICY

XIII KONKURS MATEMATYCZNY

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM ROZSZERZONY. S x 3x y. 1.5 Podanie odpowiedzi: Poszukiwane liczby to : 2, 6, 5.

1 Granice funkcji wielu zmiennych.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Minimalne drzewa rozpinaj ce

Rekurencyjne struktury danych

Teoria grafów i sieci 1 / 188

Kolorowanie punktów na pªaszczy¹nie, czyli kilka sªów o geometrii kombinatorycznej.

TEORIA GRAFÓW. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

O pewnym zadaniu olimpijskim

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.

Przykªady problemów optymalizacji kombinatorycznej

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

A. Auxiliary Question of the Universe

WBiA Architektura i Urbanistyka. 1. Wykonaj dziaªania na macierzach: Które z iloczynów: A 2 B, AB 2, BA 2, B 2 3, B = 1 2 0

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Wykªad 4. Droga i cykl Eulera i Hamiltona

Programowanie wspóªbie»ne

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, Instytut Matematyki Uniwersytetu Warszawskiego

Lekcja 9 Liczby losowe, zmienne, staªe

Grafy i Zastosowania. 6: Najkrótsze ±cie»ki. c Marcin Sydow. Najkrótsze cie»ki. Warianty. Relaksacja DAG. Algorytm Dijkstry.

Biedronka. Wej±cie. Wyj±cie. Przykªady. VI OIG Zawody dru»ynowe, Finaª. 19 V 2012 Dost pna pami : 64 MB.

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

Podstawy modelowania w j zyku UML

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

NUMER IDENTYFIKATORA:

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Podstawowe algorytmy grafowe i ich zastosowania

r = x x2 2 + x2 3.

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Teoria grafów i sieci 1 / 58

Zarządzanie Zasobami by CTI. Instrukcja

Podstawy matematyki dla informatyków

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Egzaminy i inne zadania. Semestr II.

1. Przedstaw w postaci algebraicznej liczby zespolone: 2. Narysuj zbiory punktów na pªaszczy¹nie:

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Grafy i Zastosowania. 11: Twierdzenia Minimaksowe. c Marcin Sydow. Wst p: Tw. Halla. Dualno± Zbiory niezale»ne. Skojarzenia c.d.

Transkrypt:

Omówienie zada«

Biznes Najszybsze rozwi zanie: Jarosªaw Kwiecie«(0:24)

Na pocz tku mamy kapitaª P (megabajtalarów) i dochody 0 (megabajtalary/rok). W dowolnym momencie mo»emy kupi maszyn typu i, co kosztuje c i, ale zwi ksza nasze dochody o d i. Jak najszybciej mo»na uzyska dochody na poziomie D? Omówienie zadania Biznes

Ogólny zarys strategii zakupu: (1) Kupujemy maszyny z kapitaªu pocz tkowego (2) Mamy dochód d i kapitaª p, chcemy kupi jak ± maszyn i o koszcie c i > p czekamy (c i p)/d, i kupujemy (3) Mamy dochód d i kapitaª 0, planujemy zakup jakiej± maszyny i czekamy c i /d i kupujemy (powtarzamy a» mamy D) Omówienie zadania Biznes

Ogólny zarys strategii zakupu: (1) Kupujemy maszyny z kapitaªu pocz tkowego (2) Mamy dochód d i kapitaª p, chcemy kupi jak ± maszyn i o koszcie c i > p czekamy (c i p)/d, i kupujemy (3) Mamy dochód d i kapitaª 0, planujemy zakup jakiej± maszyny i czekamy c i /d i kupujemy (powtarzamy a» mamy D) Faza (3): programowanie dynamiczne: dla d = D,..., 0 obliczamy t[d], czas do sukcesu przy dochodzie d (wybieramy optymalne i) Faza (1-2): programowanie dynamiczne: przechodzimy d = 0,..., D, dla ka»dego obliczamy p[d], najwi kszy pozostaªy kapitaª pocz tkowy, który mo»emy mie przy dochodzie d przechodzimy wszystkie maszyny i i (1) aktualizujemy p[d + d i ] lub (2) znajdujemy kandydata t[d + d i ] + (c i p)/d Omówienie zadania Biznes

Trójk ty Najszybsze rozwi zanie: Šukasz Marecik (0:57)

Danych jest n punktów na pªaszczy¹nie. Nale»y znale¹ liczb trójk tów prostok tnych o wierzchoªkach w danych punktach i o polu z danego przedziaªu. Omówienie zadania Trójk ty

Ustalamy wierzchoªek p przy k cie prostym i przesuwamy go na pocz tek ukªadu wspóªrz dnych. Omówienie zadania Trójk ty

Ustalamy wierzchoªek p przy k cie prostym i przesuwamy go na pocz tek ukªadu wspóªrz dnych. Grupujemy pozostaªe punkty po kierunkach, jakie tworz z osi OX. Kierunek dla punktu (x, y) wyznaczamy na przykªad normalizuj c ten punkt: dzielimy obie wspóªrz dne przez d, gdzie d = NWD( x, y ). Omówienie zadania Trójk ty

Ustalamy wierzchoªek p przy k cie prostym i przesuwamy go na pocz tek ukªadu wspóªrz dnych. Grupujemy pozostaªe punkty po kierunkach, jakie tworz z osi OX. Kierunek dla punktu (x, y) wyznaczamy na przykªad normalizuj c ten punkt: dzielimy obie wspóªrz dne przez d, gdzie d = NWD( x, y ). Niech Q (a,b) b dzie grup dla kierunku (a, b). Wtedy Q ( b,a) to grupa dla kierunku o 90 stopni wi kszego. Omówienie zadania Trójk ty

Ustalamy wierzchoªek p przy k cie prostym i przesuwamy go na pocz tek ukªadu wspóªrz dnych. Grupujemy pozostaªe punkty po kierunkach, jakie tworz z osi OX. Kierunek dla punktu (x, y) wyznaczamy na przykªad normalizuj c ten punkt: dzielimy obie wspóªrz dne przez d, gdzie d = NWD( x, y ). Niech Q (a,b) b dzie grup dla kierunku (a, b). Wtedy Q ( b,a) to grupa dla kierunku o 90 stopni wi kszego. Sortujemy punkty (x, y) w Q (a,b) po x 2 + y 2. Omówienie zadania Trójk ty

Ustalamy wierzchoªek p przy k cie prostym i przesuwamy go na pocz tek ukªadu wspóªrz dnych. Grupujemy pozostaªe punkty po kierunkach, jakie tworz z osi OX. Kierunek dla punktu (x, y) wyznaczamy na przykªad normalizuj c ten punkt: dzielimy obie wspóªrz dne przez d, gdzie d = NWD( x, y ). Niech Q (a,b) b dzie grup dla kierunku (a, b). Wtedy Q ( b,a) to grupa dla kierunku o 90 stopni wi kszego. Sortujemy punkty (x, y) w Q (a,b) po x 2 + y 2. Przechodzimy jednocze±nie dwoma wska¹nikami po Q (a,b) i Q ( b,a) i zliczamy trójk ty o» danym polu. Korzystamy tutaj z faktu,»e pole przy ustalonym jednym boku ro±nie wraz ze zwi kszaniem drugiego boku. W ten sposób uzyskamy rozwi zanie w czasie ok. O(n 2 log n). Omówienie zadania Trójk ty

Alternatywnie, mo»na zgadn,»e liczba wszystkich trójk tów prostok tnych na rysunku nie mo»e by zbyt du»a i przej± po ka»dej parze z Q (a,b) Q ( b,a). Czas tego rozwi zania jest proporcjonalny do liczby wszystkich trójk tów prostok tnych. Omówienie zadania Trójk ty

Kolorowania Najszybsze rozwi zanie: Jakub Tarnawski (1:58)

Mamy dane dwa kolorowania: ªadne (L) wykorzystuj ce co najwy»ej k kolorów, m dre (M) nie ma singletonów (pojedynczych wierzchoªków o danym kolorze). Szukamy kolorowania, które jest jednocze±nie ªadne i m dre. Omówienie zadania Kolorowania

Lemat Rozwi zanie zawsze istnieje. Omówienie zadania Kolorowania

Lemat Rozwi zanie zawsze istnieje. Dowód konstruktywny We¹my kolorowanie L. Je±li L jest m dre, to koniec. W przeciwnym razie L ma singleton (v). W kolorowaniu M zbiór W wierzchoªków o takim samym kolorze jak v ma wielko± co najmniej 2 i jest zbiorem niezale»nym. Przemalujmy wszystkie wierzchoªki z W w kolorowaniu L na L(v), a nast pnie usu«my W z grafu. Otrzymali±my mniejszy problem liczba kolorów w L i liczba wierzchoªków spadªy, a kolorowania dalej s ªadne i m dre. Omówienie zadania Kolorowania

Lemat Rozwi zanie zawsze istnieje. Dowód konstruktywny We¹my kolorowanie L. Je±li L jest m dre, to koniec. W przeciwnym razie L ma singleton (v). W kolorowaniu M zbiór W wierzchoªków o takim samym kolorze jak v ma wielko± co najmniej 2 i jest zbiorem niezale»nym. Przemalujmy wszystkie wierzchoªki z W w kolorowaniu L na L(v), a nast pnie usu«my W z grafu. Otrzymali±my mniejszy problem liczba kolorów w L i liczba wierzchoªków spadªy, a kolorowania dalej s ªadne i m dre. Rozwi zanie Šatwo zaimplementowa ten dowód w czasie liniowym. Omówienie zadania Kolorowania

Stany Najszybsze rozwi zanie: Jarosªaw Kwiecie«(2:27)

Mamy zaimplementowa struktur danych utrzymuj c podziaª P zbioru {0, 1,..., n 1}. Omówienie zadania Stany

Mamy zaimplementowa struktur danych utrzymuj c podziaª P zbioru {0, 1,..., n 1}. Podziaª mo»emy zmienia nast puj cymi operacjami: 1 union(a, B) dla A, B P zmienia nasz podziaª na P \ {A, B} (A B). 2 split(a, k) zmienia P na P \ A {A 1, A 2 }, gdzie A 1 = {a A : a < k}, A 2 = A \ A 1. Omówienie zadania Stany

Mamy zaimplementowa struktur danych utrzymuj c podziaª P zbioru {0, 1,..., n 1}. Podziaª mo»emy zmienia nast puj cymi operacjami: 1 union(a, B) dla A, B P zmienia nasz podziaª na P \ {A, B} (A B). 2 split(a, k) zmienia P na P \ A {A 1, A 2 }, gdzie A 1 = {a A : a < k}, A 2 = A \ A 1. Dla ka»dego a musimy te» umie znale¹ element podziaªu zawieraj cy a. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Ka»dy zbiór A P reprezentujemy jako cz ± T A drzewa T. Mianowicie, usuwamy z T w zªy reprezentuj ce przedziaªy o pustym przeci ciu z A. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Ka»dy zbiór A P reprezentujemy jako cz ± T A drzewa T. Mianowicie, usuwamy z T w zªy reprezentuj ce przedziaªy o pustym przeci ciu z A. Przydaj si tutaj wska¹niki: nullptr reprezentuje usuni te poddrzewo. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Ka»dy zbiór A P reprezentujemy jako cz ± T A drzewa T. Mianowicie, usuwamy z T w zªy reprezentuj ce przedziaªy o pustym przeci ciu z A. Przydaj si tutaj wska¹niki: nullptr reprezentuje usuni te poddrzewo. Ka»dy li± a nale»y do dokªadnie jednego A P, wi c suma wielko±ci drzew T A nie przekracza n lg n. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Ka»dy zbiór A P reprezentujemy jako cz ± T A drzewa T. Mianowicie, usuwamy z T w zªy reprezentuj ce przedziaªy o pustym przeci ciu z A. Przydaj si tutaj wska¹niki: nullptr reprezentuje usuni te poddrzewo. Ka»dy li± a nale»y do dokªadnie jednego A P, wi c suma wielko±ci drzew T A nie przekracza n lg n. Wska¹niki do ojca w drzewach T A pozwalaj znajdowa zbiór, do którego nale»y dany element a. Omówienie zadania Stany

Przyjmijmy,»e n = 2 B. Wyobra¹my sobie statyczne drzewo przedziaªowe T o li±ciach 0, 1,..., n 1. Wierzchoªki tego drzewa reprezentuj przedziaªy o dªugo±ciach b d cych pot gami dwójki. Ka»dy zbiór A P reprezentujemy jako cz ± T A drzewa T. Mianowicie, usuwamy z T w zªy reprezentuj ce przedziaªy o pustym przeci ciu z A. Przydaj si tutaj wska¹niki: nullptr reprezentuje usuni te poddrzewo. Ka»dy li± a nale»y do dokªadnie jednego A P, wi c suma wielko±ci drzew T A nie przekracza n lg n. Wska¹niki do ojca w drzewach T A pozwalaj znajdowa zbiór, do którego nale»y dany element a. Trzeba te» utrzymywa sumy warto±ci w elementach podziaªu to jednak niezbyt ciekawy szczegóª techniczny. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Na pocz tku, gdy P = {{1}, {2},..., {n}}, mamy Φ(P) = n lg n. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Na pocz tku, gdy P = {{1}, {2},..., {n}}, mamy Φ(P) = n lg n. unite zmniejsza potencjaª i dziaªa w czasie proporcjonalnym do tego zmniejszenia. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Na pocz tku, gdy P = {{1}, {2},..., {n}}, mamy Φ(P) = n lg n. unite zmniejsza potencjaª i dziaªa w czasie proporcjonalnym do tego zmniejszenia. split zwi ksza potencjaª o najwy»ej lg n. Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Na pocz tku, gdy P = {{1}, {2},..., {n}}, mamy Φ(P) = n lg n. unite zmniejsza potencjaª i dziaªa w czasie proporcjonalnym do tego zmniejszenia. split zwi ksza potencjaª o najwy»ej lg n. Wniosek: m operacji zajmie czas O((n + m) lg n). Omówienie zadania Stany

Obserwacja 1: drzewa T A i T B mo»na brutalnie poª czy w czasie O( T A + T B T A T B ). Obswerwacja 2: operacj split mo»na zaimplementowa w czasie O(lg n) w oczywisty sposób. Zdeniujmy potencjaª Φ(P) = A P T A. Na pocz tku, gdy P = {{1}, {2},..., {n}}, mamy Φ(P) = n lg n. unite zmniejsza potencjaª i dziaªa w czasie proporcjonalnym do tego zmniejszenia. split zwi ksza potencjaª o najwy»ej lg n. Wniosek: m operacji zajmie czas O((n + m) lg n). Ró»ne rozwi zania typu O(n n) tak»e byªy akceptowane. Omówienie zadania Stany

O±wietlenie Najszybsze rozwi zanie: Mateusz Radecki (3:18)

Rozwa»amy autostrad zªo»on z n 50 000 odcinków. W ka»dym kroku z prawdopodobie«stwem 1 p remontujemy pierwszy z jeszcze niewyremontowanych odcinków, z prawdopodobie«stwem p ostatni. Dla ka»dego odcinka chcemy wyznaczy oczekiwan liczb kroków, po której zostanie on wyremontowany. Omówienie zadania O±wietlenie

Niech P m,k oznacza prawdopodobie«stwo,»e w pierwszych m krokach dokªadnie k razy remontowali±my pierwszy z jeszcze niewyremontowanych odcinków. Zauwa»amy,»e P m,k = ( ) m k (1 p) k p m k. Liczby P m,k mo»emy te» wylicza rekurencyjnie. Omówienie zadania O±wietlenie

Niech P m,k oznacza prawdopodobie«stwo,»e w pierwszych m krokach dokªadnie k razy remontowali±my pierwszy z jeszcze niewyremontowanych odcinków. Zauwa»amy,»e P m,k = ( ) m k (1 p) k p m k. Liczby P m,k mo»emy te» wylicza rekurencyjnie. Maj c wszystkie P m,k mo»na ªatwo wyliczy wszystkie odpowiedzi w sumarycznym czasie O(n 2 ). Omówienie zadania O±wietlenie

Niech P m,k oznacza prawdopodobie«stwo,»e w pierwszych m krokach dokªadnie k razy remontowali±my pierwszy z jeszcze niewyremontowanych odcinków. Zauwa»amy,»e P m,k = ( ) m k (1 p) k p m k. Liczby P m,k mo»emy te» wylicza rekurencyjnie. Maj c wszystkie P m,k mo»na ªatwo wyliczy wszystkie odpowiedzi w sumarycznym czasie O(n 2 ). Mo»emy jednak zauwa»y,»e skoro oczekiwana dokªadno±c nie jest zbyt du»a, mo»na pomin niektóre P m,k. Intuicyjnie, dla ustalonego m, P m,k jest najwi ksze dla k m(1 p), gdy» jest to oczekiwana liczba remontów pierwszego odcinka. Omówienie zadania O±wietlenie

Niech P m,k oznacza prawdopodobie«stwo,»e w pierwszych m krokach dokªadnie k razy remontowali±my pierwszy z jeszcze niewyremontowanych odcinków. Zauwa»amy,»e P m,k = ( ) m k (1 p) k p m k. Liczby P m,k mo»emy te» wylicza rekurencyjnie. Maj c wszystkie P m,k mo»na ªatwo wyliczy wszystkie odpowiedzi w sumarycznym czasie O(n 2 ). Mo»emy jednak zauwa»y,»e skoro oczekiwana dokªadno±c nie jest zbyt du»a, mo»na pomin niektóre P m,k. Intuicyjnie, dla ustalonego m, P m,k jest najwi ksze dla k m(1 p), gdy» jest to oczekiwana liczba remontów pierwszego odcinka. Z nierówno±ci Chernoa mo»na pokaza,»e wystarczy rozwa»a P m,k dla k [k 5 m, k + 5 m]. Omówienie zadania O±wietlenie

Neony Najszybsze rozwi zanie: Jakub Tarnawski (4:08)

Mamy dane dwa napisy v 1, v 2. Chcemy znale¹ liczb podci gów v 1, które s równe v 2 i odlegªo± mi dzy pierwszym i ostatnim elementem tego podci gu jest wi ksza ni» pewne k. Omówienie zadania Neony

Mamy dane dwa napisy v 1, v 2. Chcemy znale¹ liczb podci gów v 1, które s równe v 2 i odlegªo± mi dzy pierwszym i ostatnim elementem tego podci gu jest wi ksza ni» pewne k. Przykªad v 1 = longlonghotel, v 2 = lol, k = 5 l o n g l o n g h o t e l odl l o l 4 (-) l o l 12 (+) l o l 12 (+) l o l 12 (+) l o l 8 (+) l o l 8 (+) Omówienie zadania Neony

Miast szuka liczby takich podci gów, gdzie odlegªo± jest wi ksza ni» pewne k, znajd¹my liczb podci gów, gdzie odlegªo± jest nie wi ksza ni» p. Oznaczaj c t liczb przez liczba(p), szukanym wynikiem jest liczba(n) liczba(k). Omówienie zadania Neony

Miast szuka liczby takich podci gów, gdzie odlegªo± jest wi ksza ni» pewne k, znajd¹my liczb podci gów, gdzie odlegªo± jest nie wi ksza ni» p. Oznaczaj c t liczb przez liczba(p), szukanym wynikiem jest liczba(n) liczba(k). Jak znale¹ warto± liczba(p)? Poruszamy si okienkiem o dªugo±ci p i trzymamy tablic d wielko±ci m m. d a,b oznacza liczb wyst pie«podci gów równych s[a..b] w aktualnym okienku. Warto±ci d a,b mo»na ªatwo aktualizowa w czasie O(m 2 ) musimy jedynie obsªugiwa dodanie jednej litery z prawej strony okienka i usuni cie jednej litery z lewej strony okienka. Omówienie zadania Neony

lol lol lol lol lol lol 1 0 0 0 0 1 l 1 1 1 0 0 1 lo... 1 1 1 0 0 1 longh 0 0 1 0 0 0 ongh... Omówienie zadania Neony

lol lol lol lol lol lol 1 0 0 0 0 1 l 1 1 1 0 0 1 lo... 1 1 1 0 0 1 longh 0 0 1 0 0 0 ongh... Zªo»ono± O(nm 2 ). Omówienie zadania Neony

lol lol lol lol lol lol 1 0 0 0 0 1 l 1 1 1 0 0 1 lo... 1 1 1 0 0 1 longh 0 0 1 0 0 0 ongh... Zªo»ono± O(nm 2 ). Inne dopuszczalne rozwi zanie u»ywaªo metody dziel i zwyci»aj i miaªo zªo»ono± O(nm 2 log n). Omówienie zadania Neony

lol lol lol lol lol lol 1 0 0 0 0 1 l 1 1 1 0 0 1 lo... 1 1 1 0 0 1 longh 0 0 1 0 0 0 ongh... Zªo»ono± O(nm 2 ). Inne dopuszczalne rozwi zanie u»ywaªo metody dziel i zwyci»aj i miaªo zªo»ono± O(nm 2 log n). Zªo»ono± O(nm 3 ) tak»e mogªa zosta zaakceptowana. Omówienie zadania Neony

Taniec

Danych jest n m»czyzn, m kobiet i t terminów. Ka»da osoba deklaruje, jak bardzo warto±ciowy jest dla niej ka»dy z terminów. Chcemy utworzy pewn liczb par, z których ma przydzielony termin. Ka»da osoba mo»e wchodzi w skªad co najwy»ej jednej pary, interesuje nas maksymalizacja sumarycznej warto±ci. Omówienie zadania Taniec

Interesuje nas najdro»sze skojarzenie w specycznym grae dwudzielnym. Poniewa» po ka»dej stronie mo»emy mie nawet 10 000 wierzchoªków, wi c nale»y jako± skorzysta ze struktury grafu. Zauwa»amy,»e t 10. Omówienie zadania Taniec

Interesuje nas najdro»sze skojarzenie w specycznym grae dwudzielnym. Poniewa» po ka»dej stronie mo»emy mie nawet 10 000 wierzchoªków, wi c nale»y jako± skorzysta ze struktury grafu. Zauwa»amy,»e t 10. Zamiast grafu dwudzielnego tworzymy sie skªadaj c si z trzech warstw: w pierwszej m»czy¹ni, w drugiej terminy, a w trzeciej kobiety. Dodajemy ¹ródªo (poª czone z ka»dym m»czyzn ) oraz uj±cie (poª czone z ka»d kobiet ) i ustalamy koszty oraz przepustowo±ci kraw dzi tak, aby rozwi zanie zadania sprowadzaªo si do wyliczenia maksymalnego przepªywu o minimalnym koszcie. Omówienie zadania Taniec

Interesuje nas najdro»sze skojarzenie w specycznym grae dwudzielnym. Poniewa» po ka»dej stronie mo»emy mie nawet 10 000 wierzchoªków, wi c nale»y jako± skorzysta ze struktury grafu. Zauwa»amy,»e t 10. Zamiast grafu dwudzielnego tworzymy sie skªadaj c si z trzech warstw: w pierwszej m»czy¹ni, w drugiej terminy, a w trzeciej kobiety. Dodajemy ¹ródªo (poª czone z ka»dym m»czyzn ) oraz uj±cie (poª czone z ka»d kobiet ) i ustalamy koszty oraz przepustowo±ci kraw dzi tak, aby rozwi zanie zadania sprowadzaªo si do wyliczenia maksymalnego przepªywu o minimalnym koszcie. Zauwa»amy,»e co drugi wierzchoªek na dowolnej ±cie»ce powi kszaj cej nale»y do ±rodkowej warstwy, wi c dªugo± takiej ±cie»ki to 2(t + 1). Omówienie zadania Taniec

Interesuje nas najdro»sze skojarzenie w specycznym grae dwudzielnym. Poniewa» po ka»dej stronie mo»emy mie nawet 10 000 wierzchoªków, wi c nale»y jako± skorzysta ze struktury grafu. Zauwa»amy,»e t 10. Zamiast grafu dwudzielnego tworzymy sie skªadaj c si z trzech warstw: w pierwszej m»czy¹ni, w drugiej terminy, a w trzeciej kobiety. Dodajemy ¹ródªo (poª czone z ka»dym m»czyzn ) oraz uj±cie (poª czone z ka»d kobiet ) i ustalamy koszty oraz przepustowo±ci kraw dzi tak, aby rozwi zanie zadania sprowadzaªo si do wyliczenia maksymalnego przepªywu o minimalnym koszcie. Zauwa»amy,»e co drugi wierzchoªek na dowolnej ±cie»ce powi kszaj cej nale»y do ±rodkowej warstwy, wi c dªugo± takiej ±cie»ki to 2(t + 1). Czyli mo»emy szuka kolejnych ±cie»ek Bellmanem-Fordem w sumarycznym czasie O(n 2 t). Omówienie zadania Taniec

Mo»emy te» szuka ±cie»ki powi kszaj cej w skompresowanej wersji sieci, w której zostawiamy tylko ±rodkow warstw. Je±li u oraz v s dwoma wierzchoªkami z tej ±rodkowej warstwy, a w sieci mamy kraw dzie u c 1 x oraz x c 2 v (o przepustowo±ci 1), to w skompresowanej sieci dodajemy kraw d¹ u c 1+c 2 v (te» o przepustowo±ci 1). Dla ka»dego (u, v) zostawiamy najta«sz z tak skonstruowanych kraw dzi. Omówienie zadania Taniec

Mo»emy te» szuka ±cie»ki powi kszaj cej w skompresowanej wersji sieci, w której zostawiamy tylko ±rodkow warstw. Je±li u oraz v s dwoma wierzchoªkami z tej ±rodkowej warstwy, a w sieci mamy kraw dzie u c 1 x oraz x c 2 v (o przepustowo±ci 1), to w skompresowanej sieci dodajemy kraw d¹ u c 1+c 2 v (te» o przepustowo±ci 1). Dla ka»dego (u, v) zostawiamy najta«sz z tak skonstruowanych kraw dzi. Kompresja zmniejsza czas znalezienie najta«szej ±cie»ki powi kszaj cej do O(t 3 ), ale skonstruowanie skompresowanej sieci wymaga przejrzenia 2n t par kraw dzi. Omówienie zadania Taniec

Mo»emy te» szuka ±cie»ki powi kszaj cej w skompresowanej wersji sieci, w której zostawiamy tylko ±rodkow warstw. Je±li u oraz v s dwoma wierzchoªkami z tej ±rodkowej warstwy, a w sieci mamy kraw dzie u c 1 x oraz x c 2 v (o przepustowo±ci 1), to w skompresowanej sieci dodajemy kraw d¹ u c 1+c 2 v (te» o przepustowo±ci 1). Dla ka»dego (u, v) zostawiamy najta«sz z tak skonstruowanych kraw dzi. Kompresja zmniejsza czas znalezienie najta«szej ±cie»ki powi kszaj cej do O(t 3 ), ale skonstruowanie skompresowanej sieci wymaga przejrzenia 2n t par kraw dzi. Zamiast kompresowa za ka»dym razem od pocz tku, lepiej utrzymywa skompresowan wersj. W tym celu dla ka»dego (u, v) przechowujemy zbiór kandydatów, z którego w ka»dej iteracji wyci gamy najta«szego. Nast pnie szukamy najta«szej ±cie»ki w skompresowanej sieci. Po znalezieniu kolejnej ±cie»ki powi kszaj cej musimy zmieni co najwy»ej 2t 3 kandydatów. Omówienie zadania Taniec

Mo»emy te» szuka ±cie»ki powi kszaj cej w skompresowanej wersji sieci, w której zostawiamy tylko ±rodkow warstw. Je±li u oraz v s dwoma wierzchoªkami z tej ±rodkowej warstwy, a w sieci mamy kraw dzie u c 1 x oraz x c 2 v (o przepustowo±ci 1), to w skompresowanej sieci dodajemy kraw d¹ u c 1+c 2 v (te» o przepustowo±ci 1). Dla ka»dego (u, v) zostawiamy najta«sz z tak skonstruowanych kraw dzi. Kompresja zmniejsza czas znalezienie najta«szej ±cie»ki powi kszaj cej do O(t 3 ), ale skonstruowanie skompresowanej sieci wymaga przejrzenia 2n t par kraw dzi. Zamiast kompresowa za ka»dym razem od pocz tku, lepiej utrzymywa skompresowan wersj. W tym celu dla ka»dego (u, v) przechowujemy zbiór kandydatów, z którego w ka»dej iteracji wyci gamy najta«szego. Nast pnie szukamy najta«szej ±cie»ki w skompresowanej sieci. Po znalezieniu kolejnej ±cie»ki powi kszaj cej musimy zmieni co najwy»ej 2t 3 kandydatów. Takie rozwi zanie dziaªa w czasie O(nt 2 (t + log n)). Omówienie zadania Taniec

Edycja

Dane 2 sªowa v, w tej samej dªugo±ci. Jak zamieni v na w w najkrótszym czasie, je±li: zamiana konkretnej litery x na y zajmuje 1 sekund, zamiana wszystkich liter x na y zajmuje c sekund? Omówienie zadania Edycja

Šatwo zauwa»y,»e operacje typu (1) mo»na zostawi na sam koniec. Rozwi zanie niepoprawne: Dla ka»dej pary liter x, z liczymy koszt zamiany r xz, czyli ile czasu zajmie poprawienie wszystkich liter x na z, o ile dokonamy zamiany x z (lub nie dokonamy»adnej zamiany x, dla x = z). Koszt zamiany x z jest wliczony w r xz. Dla ka»dej litery x znajdujemy b(x), czyli takie y, dla którego r xy jest najmniejsze. Sumujemy r x,b(x) po wszystkich literach. Niepoprawne, bo: Cykle: potrzebujemy dodatkowej tymczasowej litery (koszt ro±nie o c) Permutacja: Je±li b jest permutacj i nie jest identyczno±ci, to tymczasowej litery nie ma. (zupeªnie niepoprawne) Omówienie zadania Edycja

Za ka»dy cykl w rozwi zaniu musimy wi c zapªaci dodatkowo c. By unikn wzrostu kosztu o c, musimy cykl rozbi : Dla pewnego x na cyklu, zamieni x na z(x) b(x) Dla pewnego x, zamieni x na z(x) le» ce na cyklu Ka»da zamiana x na z(x) b(x) podwy»sza koszt o r x,z(x) r x,b(x) 0. Nie musimy si przejmowa mo»liwo±ci stworzenia nowych cykli, ani tym,»e funkcja si mo»e sta permutacj, bo to by wymagaªo niepotrzebnego podwy»szenia kosztu. Omówienie zadania Edycja

Funkcja rekurencyjna dp(u, x, i) (spami tywane wyniki) U reprezentuje zbiór cykli, które musimy jeszcze rozbi x przechodzi po wszystkich literach i mówi nam, czy trzeba rozbi permutacj Dla x = 26 zwracamy c U o ile i = 0 ( w przeciwnym przypadku). Dla x < 26 próbujemy zamieni x na wszystkie mo»liwe litery z i zwracamy najmniejsze r x,z + dp(u (x,z), x + 1, i (z b(x))) gdzie U (x,z) = U minus cykle rozbite przez x z Zªo»ono± czasowa: O(2 r n 2 ), gdzie n liczba liter (26), r liczba cykli (n/2 = 13) Omówienie zadania Edycja