# Олимпиадное программирование
## Вопросы:
- random access к памяти в случае ДП?
- garbage collection в С++
- рекурсивные переборы
- все перестановки,
- генерация все вариантов
- генерация с отсечениями
- [Матроиды](https://codeforces.com/blog/entry/69287?locale=ru)
- https://habr.com/ru/post/170933/
## olympiads.ru/zaoch January 2023
- [Дорешивание](https://codeforces.com/gym/104162)
### D
Set<int, 0 или 1> - все отрезки которые пересекают i-й дом (индекс отрезка = день когда выпал снел или его почистили)
- помогает передить от i-го дома к i+1-му
- инициализация
- все отрезки которые влияют на 1-й дом
- переход
- удалить все текущие отрезки которые уже не влияют на i+1 дом (т.е. заканчиваются в i + 1, т.е r_i = i + 1)
- добавить все новые отрезки которые начинают влиять на i+1 (т.е. начинаются в i + 1, т.е l_i = i + 1)
Дерево отрезков - состояние дней для i-го дома - был ли снег на i-м доме в j-й день
- позволяет считать количество заснеженных дней для i-го дома
https://docs.google.com/spreadsheets/d/1u3Wl3LFhWZ9bYTzAVFTrNsdoQlVVDucXMx6hMb9KMUA/edit#gid=0
# Прорешиваем
- [Всероссийская олимпиада школьников по информатике 2022–2023 День 2](https://neerc.ifmo.ru/school/archive/2022-2023/ru-olymp-regional-2023-day2.pdf)
- Задача 6:
- двумерное ДП: dp[position][mask]
- position (от 0 до 100)
- mask (от 0 до 2^21): 3 бита для каждой цифры (всего 7*3)
- Задача 7:
-
# Прорешали
- [Всероссийская олимпиада школьников по информатике 2022–2023 День 1](https://neerc.ifmo.ru/school/archive/2022-2023/ru-olymp-regional-2023-day1.pdf) - кроме 4 задачи