W poszukiwaniu wyzwań algorytmicznych Jakub Radoszewski, Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego
Dlaczego tu jestem?
Co, gdzie, kiedy? Uczestnicy: 112 drużyn z całego świata (wyłonionych spośród 25 016 studentów z 2219 uczelni z 85 krajów) Termin: 14-18 maja (zawody: 17 maja) Lokalizacja: Wydział Zarządzania Uniwersytetu Warszawskiego Auditorium Maximum Uniwersytetu Warszawskiego Politechnika Warszawska Pałac Kultury i Nauki Centrum Nauki Kopernik Hotele: Marriott i Sobieski
Orlando, Floryda, maj 2011
Jak to się stało? Finały światowe ACM ICPC organizowane są od 1977 roku. Dotychczas tylko 3 razy w Europie (Eindhoven 1999, Praga 2004, Sztokholm 2009) i łącznie 6 razy poza USA i Kanadą. W rywalizacji o organizację finałów 2012 pokonaliśmy kilka innych lokalizacji, m.in. Sankt Petersburg. Jak to możliwe?
Sukcesy Polaków w konkursach programistycznych Polacy dwukrotnie zwyciężali w: Mistrzostwach Świata w Programowaniu Zespołowym (2003, 2007 r.) i na Międzynarodowej Olimpiadzie Informatycznej (2006, 2007 r.).
Mistrzowie 2003 Andrzej Gąsienica-Samek, Tomasz Czajka, Krzysztof Onak Beverly Hills, 2003 r.
Mistrzowie 2007 Filip Wolski, Marcin Pilipczuk, Marek Cygan Tokio, 2007 r.
Najlepszy licealista 2006 Filip Wolski, Meksyk, 2006 r.
Informatyka specjalnością młodych Polaków
Inne sukcesy Polaków Polacy zwyciężali i zajmowali czołowe miejsca w prestiżowych konkursach Facebook Hacker Cup, Google Code Jam, Microsoft Imagine Cup, TopCoder Open…
Organizacja Międzynarodowej Olimpiady Informatycznej 2005
Organizacja ACM ICPC 2012
Jak pokryć planszę 8x8 z jednym usuniętym polem za pomocą literek L? Przykład zadania Jak pokryć planszę 8x8 z jednym usuniętym polem za pomocą literek L?
Krok 1: dziel
Krok 2: postaw jedną L-kę
Krok 3: to samo w kwadratach 4x4
Krok 4: to samo w kwadratach 2x2
Związki konkursów z praktyką ACM ICPC sponsored by IBM Google Code Jam Facebook Hacker Cup Microsoft Imagine Cup…
Związki konkursów z teorią
Zadanie 1: Jaskinia Jaskinia składa się z pewnej liczby komór połączonych w linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.
Zadanie 1: Jaskinia Jaskinia składa się z pewnej liczby komór połączonych w linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.
Zadanie 1: Jaskinia Jaskinia składa się z pewnej liczby komór połączonych w linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.
Zadanie 1: Jaskinia Jaskinia składa się z pewnej liczby komór połączonych w linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.
Zadanie 1: Jaskinia Jaskinia składa się z pewnej liczby komór połączonych w linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.
Właściwe zadanie 1 Jaskinia składa się z pewnej liczby komór połączonych w drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.
Właściwe zadanie 1 Jaskinia składa się z pewnej liczby komór połączonych w drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.
Właściwe zadanie 1 Jaskinia składa się z pewnej liczby komór połączonych w drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.
Historia zadania Zadania pojawiło się na Olimpiadzie Informatycznej w 2004 roku. Niestety, żaden zawodnik go nie rozwiązał… Autor zadania opublikował rozwiązanie na prestiżowej konferencji z informatyki teoretycznej IEEE FOCS.
Zadanie 2: Monety Mamy kilka stosów monet, z których każda jest złotym dukatem lub nic niewartym miedziakiem. W grze uczestniczą dwaj gracze, którzy naprzemiennie zabierają po jednej monecie z wierzchołka wybranego stosu. Celem każdego z graczy jest zebrać jak najwięcej dukatów. Kto wygra?
Historia zadania To zadanie opowiedziałem Tomkowi Idziaszkowi w 2005 roku. Tomek zdołał je rozwiązać w 2010 roku, po czym jego uogólnienie stało się najtrudniejszym zadaniem ogólnopolskiego konkursu Potyczki Algorytmiczne 2010 (zadanie rozwiązane przez 2 zawodników!). Tomek pracuje nad publikacją swoich wyników, a tymczasem izomorficzny problem stał się podstawą rozprawy doktorskiej Bartosza Walczaka (Uniwersytet Jagielloński).
Zadanie 3: Klika W danym grafie nieskierowanym szukamy największej kliki, czyli zbioru wierzchołków, z których każde dwa są połączone krawędzią.
Zadanie 3: Klika W danym grafie nieskierowanym szukamy największej kliki, czyli zbioru wierzchołków, z których każde dwa są połączone krawędzią.
Właściwe zadanie 3 Wiemy, że graf skierowany o n wierzchołkach zawiera klikę złożoną z co najmniej 2n/3 wierzchołków. Znaleźć w tym grafie klikę zawierającą co najmniej n/3 wierzchołków.
Zadanie 4: Zagadka Król zakłada złote i srebrne korony na głowy n synów. Wiadomo, że któryś z nich ma złotą koronę. Każdy syn widzi korony pozostałych synów, ale nie swoją. Każdego dnia król pyta jednocześnie wszystkich synów, czy wiedzą, jakiego koloru koronę mają na głowie. Synowie słyszą nawzajem swoje odpowiedzi. Okazuje się, że po pewnym czasie wszyscy synowie będą znali kolory swoich koron!
Historia zadania Jest wiele tego typu zagadek, np.: „Mój sąsiad powiedział mi, że ma 3 córki. Gdy go spytałem, ile mają lat, powiedział, że iloczyn ich wieków to 36. To mi nie wystarczało, żeby wyznaczyć konkretne liczby, więc powiedział mi, że suma ich wieków jest równa numerowi jego mieszkania. Mimo że znałem ten numer, wciąż nie byłem w stanie obliczyć wieków poszczególnych córek. Na to on powiedział, że najstarsza córka miała wczoraj urodziny. Dzięki tej informacji udało mi się rozwiązać zagadkę”. Na Potyczkach Algorytmicznych 2008 pojawiło się zadanie, które unifikuje większość znanych tego typu zagadek. Takie zagadki często pojawiają się na rozmowach kwalifikacyjnych do wielkich korporacji informatycznych!
Skąd tytuł wykładu? W poszukiwaniu wyzwań. Wybór zadań z konkursów programistycznych Uniwersytetu Warszawskiego