4 of 6 : 2+, 3-, 3, 3+ [+] 2011-10b\comb - (3) DP : K-е сочетание из n по k (n <= 32) [+] 2011-03\chocorev - (3) DP + Игры : DP по дереву [+] 2011-10\incrementator - (3) Hash-table или Бор : Поддерживать величину value[name] [+] 2011-10b\tree - (3) LCA : 10^5 запросов вида "расстояние между вершинами дерева" [+] 2011-11\invers2 - (3) Дерево отрезков [подсказка: восстановите исходную перестановку] [+] 2011-05\avia - (3) dfs : двоичный поиск по ответу и проверка сильной связности, N = 1000, M = N^2 3 of 5 : 4-, 4, 4+ [+] 2011-12\shifts - (4) Строки : Суф. массив или хэши с бинпоиском [Nlog^2] [+] 2011-03\choco - (4) Гранди [+] 2011-10\team - (4) dfs + DP : Найти компоненты связности, а по ним рюкзак [+] 2012-07\minimal - (4) Matchings : минимальное контролирующее множество по уже готовому паросочетанию [+] 2012-07\rmq - (4) Декартово дерево : insert(i, x), getMin(L, R) 2 of 3 : 5-, 5 [+] 2011-10b\mine - (5) ScanLine : покрыть прямоугольником размера WxH точки суммарной MAX стоимости [+] 2011-01\robots - (5) Meet-In-The-Middle : кол-во подклик [простой TL, 2^{n/2}*n = AC] [+] 2011-03\wall - (5) Flow : Задача про вершинный разрез на гриде 1 of 3 : 5+ [+] 2011-05\virus - (5+) Строки : динамика на боре [+] 2011-03\king - (5+) dfs + мозг : Найти все ребра, которые могут входить в максимальное паросочетание [+] 2012-08\dominoes - (5+) DP : Кол-во замощений доминошками 1x3. n <= 9, m <= 30