Параллель B': различия между версиями
Материал из Algocode wiki
Строка 1: | Строка 1: | ||
<p style="font-size: 14pt">[https://algocode.ru/bp2019/ Страница на алгокоде]</p> | <p style="font-size: 14pt">[https://algocode.ru/bp2019/ Страница на алгокоде]</p> | ||
− | |||
− | == | + | =13. Хеши= |
− | * [[ | + | * [[Полиномиальное хеширование строк]] |
− | * [[ | + | * [[Сравнение строк с помощью хешей]] |
+ | * [[Хеширование множеств (с точностью до перестановки)]] | ||
+ | * [[Хеширование матриц]] | ||
+ | * [[Хеш-таблицы (открытый ключ)]] | ||
+ | * [[Хеш-таблицы (цепочки)]] | ||
+ | * [[Хеширование корневых деревьев]] | ||
− | = | + | =12. Динамическое программирование= |
− | * [[ | + | ===Повторение для подзабывших=== |
− | * [[ | + | * [[Основы ДП]] |
− | * [[ | + | * [[План ДП]] |
+ | * [[Одномерное ДП]] | ||
+ | * [[Двумерное ДП]] | ||
+ | * [[Восстановление ответа: через массив динамики и через массив предков.]] | ||
+ | * [[Ленивая динамика.]] | ||
+ | * [[Рюкзак]] | ||
+ | * [[Динамика по префиксу и значению последнего элемента]] | ||
+ | * [[НВП]] | ||
+ | * [[НОП]] | ||
− | === | + | ===Новое=== |
+ | * [[Паросочетание]] | ||
+ | * [[ДП по поддеревьям]] | ||
+ | * [[Маска]] | ||
+ | * [[Битовые операции]] | ||
+ | * [[ДП по подмножествам]] | ||
+ | * [[ДП по профилю]] | ||
+ | * [[Перебор всех подмасок данной маски]] | ||
− | |||
− | |||
− | == | + | =11. Геометрия, примитивы= |
+ | * [[Векторы]] | ||
+ | * [[Прямые]] | ||
+ | * [[Отрезки]] | ||
+ | * [[Окружности]] | ||
− | * [[ | + | =10. LCA= |
+ | ===Вспомогательная структура=== | ||
+ | *[[Sparse Table]] | ||
+ | ===LCA=== | ||
+ | *[[LCA]] | ||
+ | *[[Эйлеров обход]] | ||
+ | ===Методы=== | ||
+ | *[[Двоичные подъемы]] | ||
+ | *[[Решение с помощью Эйлерова обхода]] | ||
− | |||
− | * [[ | + | =9. СНМ и остовные деревья= |
− | * [[ | + | * [[СНМ]] |
+ | ====Остовные деревья==== | ||
+ | * [[Лемма о безопасном ребре]] | ||
+ | * [[Алгоритм Краскала]] | ||
+ | * [[Алгоритм Прима]] | ||
− | = | + | =8. Кратчайшие пути= |
+ | * [[BFS]] | ||
+ | * [[0-1 BFS]] | ||
+ | * [[1-k BFS]] | ||
+ | * [[Алгоритм Форда-Беллмана]] | ||
+ | * [[Алгоритм Дейкстры]] | ||
− | = | + | =7. Математика= |
− | * [[ | + | * [[Базовая математика]] |
− | * [[ | + | * [[Теория чисел]] |
− | * [[ | + | * [[Комбинаторика]] |
− | * [[ | + | * [[Теория вероятностей]] |
− | * [[ | + | * [[Матрицы]] |
− | |||
− | |||
− | = | + | =6. Корневая декомпозиция= |
− | * [[ | + | * [[Корневая декомпозиция]] |
− | * [[ | + | * [[Корневая декомпозиция на массиве]] |
− | * [[ | + | * [[Корневая на строках]] |
− | + | * [[Корневая в задачах на графы]] | |
− | + | * [[Корневая по запросам]] | |
− | + | * [[Алгоритм Мо]] | |
− | + | * [[Подбор констант]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | * [[ | ||
− | * [[ | ||
− | * [[ | ||
− | * [[ | ||
=5. С++ и базовые структуры данных= | =5. С++ и базовые структуры данных= | ||
Строка 81: | Строка 107: | ||
* [[UB]] | * [[UB]] | ||
− | = | + | =4. Динамическое программирование= |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* [[Основы ДП]] | * [[Основы ДП]] | ||
* [[План ДП]] | * [[План ДП]] | ||
Строка 143: | Строка 120: | ||
* [[НОП]] | * [[НОП]] | ||
− | === | + | =3. Графы= |
− | * [[ | + | |
− | * [[ | + | * [[Основные понятия теории графов]] |
− | * [[ | + | * [[Хранение графа]] |
− | * [[ | + | * [[Обходы графа и их применения]] |
− | * [[ | + | |
− | * [[ | + | =2. Поиски за $O(\log(n))$= |
− | * [[ | + | |
+ | ====Бинарный поиск==== | ||
+ | |||
+ | * [[Бинарный поиск]] | ||
+ | * [[Бинарный поиск с вещественными числами]] | ||
+ | * [[Бинарный поиск по ответу]] | ||
+ | * [[Бинарный поиск по производной]] | ||
+ | * [[Бинарный поиск для нахождения подходящей пары]] | ||
+ | |||
+ | ====Тернарный поиск==== | ||
+ | * [[Тернарный поиск]] | ||
+ | |||
+ | =1. Сортировки= | ||
+ | |||
+ | ====Анализ времени и памяти==== | ||
+ | * [[O-нотация light version]] | ||
+ | * [[Работа со временем и памятью]] | ||
+ | |||
+ | ====Квадратичные сортировки==== | ||
+ | |||
+ | * [[Сортировка пузырьком]] | ||
+ | * [[Сортировка выбором]] | ||
+ | * [[Сортировка вставками]] | ||
+ | |||
+ | ====Сортировки за $n\log{n}$==== | ||
+ | |||
+ | * [[Сортировка слиянием]] | ||
+ | * [[Быстрая сортировка]] | ||
+ | |||
+ | ====Другие сортировки==== | ||
+ | |||
+ | * [[Сортировка подсчетом]] | ||
+ | |||
+ | ====Связанные задачи==== | ||
− | + | * [[Количество инверсий]] | |
− | + | * [[K-я порядковая статистика]] | |
− | |||
− | |||
− | |||
− | * [[ | ||
− | * [[ | ||
− |
Версия 13:31, 24 января 2020
Содержание
- 1 13. Хеши
- 2 12. Динамическое программирование
- 3 11. Геометрия, примитивы
- 4 10. LCA
- 5 9. СНМ и остовные деревья
- 6 8. Кратчайшие пути
- 7 7. Математика
- 8 6. Корневая декомпозиция
- 9 5. С++ и базовые структуры данных
- 10 4. Динамическое программирование
- 11 3. Графы
- 12 2. Поиски за $O(\log(n))$
- 13 1. Сортировки
13. Хеши
- Полиномиальное хеширование строк
- Сравнение строк с помощью хешей
- Хеширование множеств (с точностью до перестановки)
- Хеширование матриц
- Хеш-таблицы (открытый ключ)
- Хеш-таблицы (цепочки)
- Хеширование корневых деревьев
12. Динамическое программирование
Повторение для подзабывших
- Основы ДП
- План ДП
- Одномерное ДП
- Двумерное ДП
- Восстановление ответа: через массив динамики и через массив предков.
- Ленивая динамика.
- Рюкзак
- Динамика по префиксу и значению последнего элемента
- НВП
- НОП
Новое
- Паросочетание
- ДП по поддеревьям
- Маска
- Битовые операции
- ДП по подмножествам
- ДП по профилю
- Перебор всех подмасок данной маски
11. Геометрия, примитивы
10. LCA
Вспомогательная структура
LCA
Методы
9. СНМ и остовные деревья
Остовные деревья
8. Кратчайшие пути
7. Математика
6. Корневая декомпозиция
- Корневая декомпозиция
- Корневая декомпозиция на массиве
- Корневая на строках
- Корневая в задачах на графы
- Корневая по запросам
- Алгоритм Мо
- Подбор констант
5. С++ и базовые структуры данных
Базовые структуры данных
С++
- Итератор
- Multiset
- Set
- Map
- Ускорение ввода-вывода
- Полезные встроенные функции
- pbds
- Бинпоиски
- Подводные камни
- UB
4. Динамическое программирование
- Основы ДП
- План ДП
- Одномерное ДП
- Двумерное ДП
- Восстановление ответа: через массив динамики и через массив предков.
- Ленивая динамика.
- Рюкзак
- Динамика по префиксу и значению последнего элемента
- НВП
- НОП
3. Графы
2. Поиски за $O(\log(n))$
Бинарный поиск
- Бинарный поиск
- Бинарный поиск с вещественными числами
- Бинарный поиск по ответу
- Бинарный поиск по производной
- Бинарный поиск для нахождения подходящей пары