Я могу дать вам примерный план действий, как стать экспертом в соревновательном программировании
- Временная сложность
- Основная математическая задача (факторизация, основание, унарная, двоичная системы счисления, преобразование по основанию N)
- Массивы (базовые реализации массивов, алгоритмы сортировки (вставка, слияние, быстрая выборка, всплывающая подсказка)
- Алгоритмы поиска (бинарный поиск)
- Битовые манипуляции
- Связанные списки
- Стеки и очереди
- Откат
- Хеширование
- Кучи и карты
- Древовидная структура данных
- Динамическое программирование
- Жадный алгоритм
- Структура графических данных и алгоритмы
Практика, практика, практика
Испытывайте все больше и больше проблем на платформе, таких как hacker-rank, code-chef, leetcode, и пробуйте реализовывать разные алгоритмы