Параллель B': различия между версиями
Материал из Algocode wiki
Глеб (обсуждение | вклад) |
|||
(не показано 97 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | + | =21. DFS-2= | |
− | = | + | * [[Компоненты сильной связности]] |
− | * [[ | + | ==Алгоритмика== |
− | * [[ | + | * [https://ru.algorithmica.org/cs/graph-traversals/scc/ Компоненты сильной связности] |
− | * [[ | + | * [https://ru.algorithmica.org/cs/graph-traversals/bridges/ Мосты и точки сочленения] |
− | * [[ | + | |
− | * [[ | + | =20. ДП по цифрам= |
+ | * [https://t.me/c/1508532677/129 Лекция 2021-2022] | ||
+ | * [[Динамическое программирование по цифрам]] | ||
+ | * [[Примеры задач на ДП по цифрам]] | ||
+ | * [[Восстановление k-го числа с особым свойством]] | ||
+ | ==Доп.материал== | ||
+ | * [[MITM в задачах на числа]] | ||
+ | |||
+ | =19. Дерево Фенвика= | ||
+ | * [https://t.me/c/1508532677/128 Лекция 2021-2022] | ||
+ | * [https://ru.algorithmica.org/cs/range-queries/fenwick/ Конспект с Алгоритмики] | ||
+ | * [[Дерево Фенвика]] | ||
+ | |||
+ | =18. Декартово дерево= | ||
+ | * [https://t.me/c/1508532677/127 Лекция 2021-2022] | ||
+ | * [https://ru.algorithmica.org/cs/tree-structures/treap/ Конспект с Алгоритмики] | ||
+ | * [[Декартово дерево]] | ||
+ | |||
+ | =17. Префикс/z-функции и бор= | ||
+ | * [https://t.me/c/1508532677/125 лекция 2021-2022] | ||
+ | * [https://algorithmica.org/ru/string-searching Конспект с алгоритмики про функции] | ||
+ | * [[Z-функция]] | ||
+ | * [[Бор]] | ||
+ | * [[Цифровой бор]] | ||
+ | |||
+ | =16. Геометрия-2= | ||
+ | * [https://t.me/c/1508532677/119 Лекция 2021-2022] | ||
+ | * [[Выпуклая оболочка]] | ||
+ | * [[Поиск двух ближайших точек]] | ||
+ | * [https://algocode.ru/files/course_aspb2019/main.pdf Геометрия: вспомнить всё] | ||
+ | |||
+ | =15. ДП по подмножествам= | ||
+ | * [https://t.me/c/1508532677/107 Лекция 2021-2022] | ||
+ | * [https://t.me/c/1508532677/106 Пост в канале с материалами лекции] | ||
+ | |||
+ | =14. Хеши= | ||
+ | * [https://t.me/c/1508532677/100 лекция 2021-2022] | ||
− | = | + | ==Полиномиальный хеш== |
* [[Полиномиальное хеширование строк]] | * [[Полиномиальное хеширование строк]] | ||
* [[Сравнение строк с помощью хешей]] | * [[Сравнение строк с помощью хешей]] | ||
− | |||
* [[Хеширование матриц]] | * [[Хеширование матриц]] | ||
+ | ===Коллизии=== | ||
+ | * [https://codeforces.com/blog/entry/4898?locale=ru Строки Туэ-Морса ] | ||
+ | * [https://codeforces.com/blog/entry/60442 Обзорная статья о взломах полиномиальных хешей] | ||
+ | * [https://codeforces.com/blog/entry/1729?locale=ru&mobile=true#comment-32989 Как умножить два long long числа по модулю третьего long long числа] | ||
+ | * [https://en.wikipedia.org/wiki/Largest_differencing_method#Two-way_partitioning Алгоритм Кармаркара-Карпа для поиска разбиения множества на две части с минимальной разностью] | ||
+ | |||
+ | ==Хеш-таблицы== | ||
+ | * [https://codeforces.com/blog/entry/60737 Встроенные таблицы из gnu pbds] | ||
* [[Хеш-таблицы (открытый ключ)]] | * [[Хеш-таблицы (открытый ключ)]] | ||
* [[Хеш-таблицы (цепочки)]] | * [[Хеш-таблицы (цепочки)]] | ||
+ | |||
+ | == Ещё про хеши == | ||
+ | * [[Хеширование множеств (с точностью до перестановки)]] | ||
* [[Хеширование корневых деревьев]] | * [[Хеширование корневых деревьев]] | ||
+ | * [https://www.imsc.res.in/~vikram/DiscreteMaths/2011/tree.pdf Изоморфизм произвольных деревьев с помощью хеширования ] | ||
− | = | + | =13. Дерево отрезков= |
− | + | * [[Дерево отрезков]] | |
− | + | * [[А что еще можно хранить в до?]] | |
− | * [[ | + | * [[Спуск по дереву отрезков]] |
− | + | * [[Отложенные операции]] | |
− | + | * [[Динамическое(Неявное) Дерево Отрезков]] | |
− | |||
− | |||
− | |||
− | * [[ | ||
− | * [[ | ||
− | |||
− | * [[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * [[ | ||
− | |||
− | |||
+ | ===Видео по теме=== | ||
+ | * [https://t.me/c/1508532677/90 лекция 2021-2022] | ||
− | = | + | =12. LCA= |
− | * [ | + | * [https://t.me/c/1508532677/69 лекция 2021-2022] |
− | |||
− | |||
− | |||
− | |||
− | |||
===Вспомогательная структура=== | ===Вспомогательная структура=== | ||
*[[Sparse Table]] | *[[Sparse Table]] | ||
Строка 56: | Строка 84: | ||
*[[Решение с помощью Эйлерова обхода]] | *[[Решение с помощью Эйлерова обхода]] | ||
− | + | =11. СНМ и остовные деревья= | |
− | = | ||
* [[СНМ]] | * [[СНМ]] | ||
− | + | ===Остовные деревья=== | |
* [[Лемма о безопасном ребре]] | * [[Лемма о безопасном ребре]] | ||
* [[Алгоритм Краскала]] | * [[Алгоритм Краскала]] | ||
* [[Алгоритм Прима]] | * [[Алгоритм Прима]] | ||
− | =8. Кратчайшие пути= | + | ===Видео по теме=== |
+ | |||
+ | * [https://t.me/c/1508532677/60 лекция 2021-2022] | ||
+ | * [https://www.youtube.com/watch?v=VmNPG__osBE MST от Павла Маврина] | ||
+ | |||
+ | |||
+ | =10. Корневая декомпозиция= | ||
+ | * [https://t.me/c/1508532677/57 лекция 2021-2022] | ||
+ | * [[Корневая декомпозиция]] | ||
+ | * [[Корневая декомпозиция на массиве]] | ||
+ | * [[Корневая на строках]] | ||
+ | * [[Корневая в задачах на графы]] | ||
+ | * [[Корневая по запросам]] | ||
+ | * [[Алгоритм Мо]] | ||
+ | * [[Подбор констант]] | ||
+ | * [[set за O(1) на вставку и корень на взятие минимума]] | ||
+ | |||
+ | =9. Геометрия-1= | ||
+ | * [https://t.me/c/1508532677/56 лекция 2021-2022] | ||
+ | * [[Векторы]] | ||
+ | * [[Прямые]] | ||
+ | * [[Отрезки]] | ||
+ | * [[Окружности]] | ||
+ | |||
+ | =8. Математика= | ||
+ | * [https://www.youtube.com/watch?v=9nYnS8mPFa4 лекция 2021-2022] | ||
+ | * [[Базовая математика]] | ||
+ | * [[Теория чисел]] | ||
+ | * [[Комбинаторика]] | ||
+ | |||
+ | =7. Кратчайшие пути= | ||
+ | * [https://t.me/c/1508532677/48 лекция 2021-2022] | ||
* [[BFS]] | * [[BFS]] | ||
* [[0-1 BFS]] | * [[0-1 BFS]] | ||
Строка 70: | Строка 128: | ||
* [[Алгоритм Форда-Беллмана]] | * [[Алгоритм Форда-Беллмана]] | ||
* [[Алгоритм Дейкстры]] | * [[Алгоритм Дейкстры]] | ||
+ | * [[Алгоритм Флойда]] | ||
+ | |||
+ | ===Видео по теме=== | ||
+ | |||
+ | * [https://www.youtube.com/watch?v=O5n1ORyECAY&list=PL4_hYwCyhAvYikJXQHwKCOe1i7So13ZNc&index=9 Лекция про кратчайшие пути от Саши Гришутина] | ||
+ | * [https://www.youtube.com/watch?v=GJkCzQo-rAc BFS] | ||
+ | * [https://www.youtube.com/watch?v=GJkCzQo-rAc#t=18m16s Дейкстра] | ||
+ | * [https://www.youtube.com/watch?v=0drmQj1RsEQ Форд-Беллман и Флойд] | ||
+ | |||
− | = | + | =6. Динамическое программирование= |
− | * [[ | + | * [[Основы ДП]] |
− | * [[ | + | * [[План ДП]] |
− | * [[ | + | * [[Одномерное ДП]] |
− | * [[ | + | * [[Двумерное ДП]] |
− | * [[ | + | * [[Восстановление ответа: через массив динамики и через массив предков.]] |
+ | * [[Ленивая динамика.]] | ||
+ | * [[Рюкзак]] | ||
+ | * [[Динамика по префиксу и значению последнего элемента]] | ||
+ | * [[НВП]] | ||
+ | * [[НОП]] | ||
+ | * [[ДП по подотрезкам]] | ||
+ | |||
+ | ==Видео по теме== | ||
+ | * [https://t.me/c/1508532677/43 лекция 2021-2022] | ||
+ | * [https://www.youtube.com/watch?v=LziQLB7QmAs&list=PL4_hYwCyhAvYikJXQHwKCOe1i7So13ZNc&index=6&t=0s Лекция про ДП от Саши Гришутина] | ||
+ | * [https://www.youtube.com/watch?v=q_n2vzVNXE4 Динамическое программирование от Павла Маврина] | ||
+ | * [https://www.youtube.com/watch?v=skEkTaAy8Ek НОП] | ||
+ | * [https://www.youtube.com/watch?v=skEkTaAy8Ek#t=12m09s НВП] | ||
+ | * [https://www.youtube.com/watch?v=6XHWHnvBiu4 Рюкзак] | ||
− | = | + | =5. Линейные алгоритмы = |
− | + | == Видео == | |
− | + | [https://t.me/c/1508532677/39 лекция 2021-2022] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | =4. С++ и базовые структуры данных= |
====Базовые структуры данных==== | ====Базовые структуры данных==== | ||
Строка 113: | Строка 189: | ||
* [[UB]] | * [[UB]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | =3. Графы= | + | =3. Графы и стресс-тестирование = |
* [[Основные понятия теории графов]] | * [[Основные понятия теории графов]] | ||
* [[Хранение графа]] | * [[Хранение графа]] | ||
* [[Обходы графа и их применения]] | * [[Обходы графа и их применения]] | ||
+ | * [https://t.me/c/1578563708/1727 Пример стресс-теста] | ||
+ | |||
+ | ===Видео по теме=== | ||
+ | * [https://youtu.be/5FrtL-GSzLg Лекция от 2021 года] | ||
+ | * [https://www.youtube.com/watch?v=80icIrhJ6G0 Важное о графах] | ||
+ | * [https://www.youtube.com/watch?v=80icIrhJ6G0#t=12m09s DFS] | ||
=2. Поиски за $O(\log(n))$= | =2. Поиски за $O(\log(n))$= | ||
Строка 144: | Строка 214: | ||
====Тернарный поиск==== | ====Тернарный поиск==== | ||
* [[Тернарный поиск]] | * [[Тернарный поиск]] | ||
+ | * [[Вложенные тернарные поиски]] | ||
+ | |||
+ | ===Видео по теме=== | ||
+ | * [https://youtu.be/eCctYpFF3xI Лекция от 2021 года] | ||
+ | * [https://www.youtube.com/watch?v=Kn2DtmsN8f8 Бинарный поиск] | ||
+ | * [https://www.youtube.com/watch?v=80icIrhJ6G0#t=19m00s Вещественный бинарный поиск] | ||
+ | * [https://www.youtube.com/watch?v=80icIrhJ6G0#t=41m20s Тернарный поиск] | ||
=1. Сортировки= | =1. Сортировки= | ||
Строка 170: | Строка 247: | ||
* [[Количество инверсий]] | * [[Количество инверсий]] | ||
* [[K-я порядковая статистика]] | * [[K-я порядковая статистика]] | ||
+ | |||
+ | === Видео по теме === | ||
+ | * [https://www.youtube.com/watch?v=BwzESzVxAHQ&ab_channel=AleksandrGrishutin Лекция 2021 года] |
Текущая версия на 15:54, 19 марта 2022
Содержание
- 1 21. DFS-2
- 2 20. ДП по цифрам
- 3 19. Дерево Фенвика
- 4 18. Декартово дерево
- 5 17. Префикс/z-функции и бор
- 6 16. Геометрия-2
- 7 15. ДП по подмножествам
- 8 14. Хеши
- 9 13. Дерево отрезков
- 10 12. LCA
- 11 11. СНМ и остовные деревья
- 12 10. Корневая декомпозиция
- 13 9. Геометрия-1
- 14 8. Математика
- 15 7. Кратчайшие пути
- 16 6. Динамическое программирование
- 17 5. Линейные алгоритмы
- 18 4. С++ и базовые структуры данных
- 19 3. Графы и стресс-тестирование
- 20 2. Поиски за $O(\log(n))$
- 21 1. Сортировки
21. DFS-2
Алгоритмика
20. ДП по цифрам
- Лекция 2021-2022
- Динамическое программирование по цифрам
- Примеры задач на ДП по цифрам
- Восстановление k-го числа с особым свойством
Доп.материал
19. Дерево Фенвика
18. Декартово дерево
17. Префикс/z-функции и бор
16. Геометрия-2
15. ДП по подмножествам
14. Хеши
Полиномиальный хеш
Коллизии
- Строки Туэ-Морса
- Обзорная статья о взломах полиномиальных хешей
- Как умножить два long long числа по модулю третьего long long числа
- Алгоритм Кармаркара-Карпа для поиска разбиения множества на две части с минимальной разностью
Хеш-таблицы
Ещё про хеши
- Хеширование множеств (с точностью до перестановки)
- Хеширование корневых деревьев
- Изоморфизм произвольных деревьев с помощью хеширования
13. Дерево отрезков
- Дерево отрезков
- А что еще можно хранить в до?
- Спуск по дереву отрезков
- Отложенные операции
- Динамическое(Неявное) Дерево Отрезков
Видео по теме
12. LCA
Вспомогательная структура
LCA
Методы
11. СНМ и остовные деревья
Остовные деревья
Видео по теме
10. Корневая декомпозиция
- лекция 2021-2022
- Корневая декомпозиция
- Корневая декомпозиция на массиве
- Корневая на строках
- Корневая в задачах на графы
- Корневая по запросам
- Алгоритм Мо
- Подбор констант
- set за O(1) на вставку и корень на взятие минимума
9. Геометрия-1
8. Математика
7. Кратчайшие пути
Видео по теме
6. Динамическое программирование
- Основы ДП
- План ДП
- Одномерное ДП
- Двумерное ДП
- Восстановление ответа: через массив динамики и через массив предков.
- Ленивая динамика.
- Рюкзак
- Динамика по префиксу и значению последнего элемента
- НВП
- НОП
- ДП по подотрезкам
Видео по теме
- лекция 2021-2022
- Лекция про ДП от Саши Гришутина
- Динамическое программирование от Павла Маврина
- НОП
- НВП
- Рюкзак
5. Линейные алгоритмы
Видео
4. С++ и базовые структуры данных
Базовые структуры данных
С++
- Итератор
- Multiset
- Set
- Map
- Ускорение ввода-вывода
- Полезные встроенные функции
- pbds
- Бинпоиски
- Подводные камни
- UB
3. Графы и стресс-тестирование
Видео по теме
2. Поиски за $O(\log(n))$
Бинарный поиск
- Бинарный поиск
- Бинарный поиск с вещественными числами
- Бинарный поиск по ответу
- Бинарный поиск по производной
- Бинарный поиск для нахождения подходящей пары