Стоит ли начинать готовиться к олимпиадному программированию в 10 классе, и какой язык лучше выбрать?

Учусь в 10 классе, хочу начать заниматься олимпиадным программирование(уже знаю основы Python).
Хватит ли мне времени для подготовки, чтобы взять призёра перечневых олимпиад по программированию? Или лучше не рисковать и готовиться к ЕГЭ по информатике?
Достаточно ли Python для того чтобы взять призёра перечня, если нет, то что стоит учить?
  • Вопрос задан
  • 567 просмотров
Пригласить эксперта
Ответы на вопрос 1
Nizamovoff
@Nizamovoff
Программист на С++
Здраствуйте. Начать программировать с 10 класса поздновато, но можно подготовиться к 11 классу, успев выучить базовые и не очень алгоритмы. Я бы посоветовал изучить С++, потому что Python часто не влезает в поставленные ограничения по времени.

В целом, знать python на базовом уровне тоже надо, чтобы не приходилось писать длинную арифметику.

Поучите c++ по данным темам (написано в порядке изучения):
- Ввод/вывод
- Условные операторы (if - else, switch - case, тернарный условный оператор)
- Циклы (for, while, do while)
- Массивы (одномерные, двумерные)
- Функции
- Рекурсии
- Графы, введение в теорию графов
- BFS (обход в ширину)
- DFS (обход в глубину)
- Жадный алгоритм
- Динамическое программирования (также: НОП, НВП, задача об укладке рюкзака)
- Изучить встроенные контейнеры: vector, set, multiset, map, multimap, queue, priority_queue, stack, deque, list


Если намерены знать более сложные алгоритмы (вполне могут пригодится):
- алгоритм Дейкстры, Форда-Беллмана, Флойда
- Дерево отрезков (без множественных операций)
- Доизучать все более сложные контейнеры


Если намерены участовать не только в перечневых олимпиадах, но и подготовиться к 11 классу к региональному и заключительному этапу ВОШ:
- ДП на подотрезках, на поддеревьях, по подмножествам, по профилю
- Дерево отрезков со множественными операциями, декартово дерево, дерево Фенвика
- Система Непересекающихся Множеств
- Z-функции
- Боры
- Хэши
- Кучи (а еще можно научиться писать Фибоначчиеву кучу (over hard))


Также, ко всему этому, надо подтянуть математику, в частности геометрию:
- Нахождение расстояния от точки до прямой
- Вектора (скалярное и векторное произведение)
- Да и логика не помешает


Удачи в начинаниях!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы