Олимпиада по информатике, 9–11 класс: школьный этап и подготовка

Школьный этап Всероссийской олимпиады по информатике в 9–11 классе — это уже не проверка аккуратности: комплект старшей группы отдельный, и в нём перебор «в лоб» перестаёт укладываться в ограничение по времени. Нужны приёмы, которые снижают сложность решения: сортировка, префиксные суммы, два указателя, бинарный поиск по ответу. Ниже — что именно спрашивают в этих классах, наши задачи того же типа с автопроверкой, план на четыре недели и то, куда результат ведёт дальше.

Чем комплект 9–11 класса отличается

Перебор перестаёт проходить по времени

Это главный водораздел между младшей и старшей группой. В 7–8 классе перебрать все варианты вложенными циклами — законное и обычно ожидаемое решение; в 9–11 размер входных данных подбирают так, что такое решение считается слишком долго и часть тестов не проходит. Поэтому решение начинается не с кода, а с вопроса «сколько операций это сделает».

Оценка сложности — часть решения, а не теория

Прикинуть порядок числа операций до написания кода дешевле, чем узнать про лимит после отправки. Сколько успевает Python на наших задачах — замерено у нас же, на странице про Python на олимпиадах; вывод из замеров простой: спасает не язык, а смена алгоритма.

Проверка идёт по группам тестов

Решение обычно гоняют на нескольких группах тестов, и частичное решение чаще всего приносит часть баллов. Значит, медленный, но правильный перебор писать стоит — он лучше пустого места. Точный регламент оценивания и проходной балл устанавливает региональный оргкомитет, и они различаются от региона к региону.

С 9 класса результат начинает работать на поступление

Школьный этап здесь — не отдельное соревнование, а вход в цепочку муниципальный → региональный → заключительный. Диплом заключительного этапа даёт поступление без вступительных испытаний, а диплом, полученный в 9 классе, действует четыре года — то есть работает и на поступление после 11-го.

Что спрашивают в 9–11 классе

Темы школьного этапа для этой группы — со ссылками на наши хабы, где по каждой есть объяснение и задачи:

Соседняя группа — олимпиада по информатике для 7–8 класса: там комплект легче, алгоритмов почти нет и решает аккуратность.

Задания прошлых лет: что с ними делать

Условия прошлых туров публикуют сами организаторы олимпиады — мы их не перепечатываем и разборов текущих туров не выкладываем: смысл подготовки в том, чтобы научиться решать, а не списать. Полезнее другое — решать свои задачи того же типа с автопроверкой: робот гоняет решение на скрытых тестах ровно так же, как на этапе, и сразу видно, где потеряны баллы. Именно такие задачи собраны ниже.

Задачи для тренировки: 9–11 класс

Это задачи из нашего банка — того же типа, что встречаются на школьном этапе в этих классах. Каждая проверяется автоматически на скрытых тестах, как на настоящем туре, и после каждой попытки виден разбор: что именно не сошлось.

Больше задач по каждой теме — в хабах выше и в каталоге задач с фильтром по темам.

План подготовки за четыре недели

Короткая версия — что закрывать по неделям, если до этапа месяц и язык уже есть:

Неделя 1. Сложность и сортировка

Научиться до написания кода отвечать на вопрос «влезет ли». Плюс сортировка — не как алгоритм, а как приём: что в задаче упрощается, если данные упорядочить.

Неделя 2. Префиксные суммы и два указателя

Два приёма, которые убирают вложенный цикл в задачах про отрезки и пары. Цель недели — узнавать их по формулировке условия, а не после подсказки.

Неделя 3. Бинарный поиск по ответу и жадные

Самая доходная пара на этапе: «угадать и проверить» и «брать лучшее на каждом шаге». К жадному обязательна привычка спрашивать себя, почему он верен.

Неделя 4. Тур на время

Никаких новых тем: 3–4 задачи за два часа без подсказок, потом разбор каждой неудачи до причины — не тот приём, не уложился в лимит, потерян крайний случай. Останется время — обход сетки и остатки.

Полный план с задачами на каждую неделю и чеком «умею» — на странице школьного этапа ВсОШ по информатике: там же формат тура, календарь сезона и разбор частых ошибок.

Что дальше: следующие этапы и поступление

Школьный этап в 9–11 классе — первая ступень цепочки, а не отдельное соревнование. Дальше идут муниципальный, региональный и заключительный этапы; окна сезона и формат каждого — на странице школьного этапа ВсОШ по информатике.

С 9 класса результат начинает работать на поступление: диплом заключительного этапа ВсОШ даёт поступление без вступительных испытаний на профильные направления, а диплом, полученный в 9 классе, действует четыре года — то есть засчитывается и после 11-го. Как это устроено, включая перечневые олимпиады, разобрано на странице «БВИ и льготы: что даёт олимпиада по информатике». Правила приёма каждый вуз публикует сам и меняет их между годами — проверять нужно на сайте вуза в год поступления.

На чём писать

Python разрешён на всех этапах ВсОШ по информатике, и на школьном этапе его скорости хватает: задачи этого уровня не рассчитаны на предельно быстрый язык. Дальше язык начинает упираться в ограничение по времени — но лечится это выбором алгоритма, а не переходом на другой язык. Подробный разбор с замерами — на странице «Python на олимпиадах»: где языка хватает, где он упирается в лимит и что делают вместо смены языка.

Если писать код пока не получается, начинать надо не с этапа, а с языка: маршрут «с нуля до олимпиады» разложен по шагам и срокам, а готовая последовательность — в программе курса.

Вопросы и ответы

Что нужно уметь девятикласснику для школьного этапа по информатике?

Уверенной базы языка уже мало: нужны сортировка, префиксные суммы, два указателя и бинарный поиск по ответу, а главное — привычка оценивать, уложится ли решение в ограничение по времени. Отбора на школьный этап при этом нет: участвовать может любой школьник своей школы.

Правда ли, что в 9–11 классе перебор уже не проходит?

В части задач — да: размер входных данных подбирают так, чтобы решение «в лоб» не уложилось в лимит. Но писать его всё равно стоит: проверка обычно идёт по группам тестов, и медленное правильное решение чаще всего берёт часть баллов.

На каком языке решать в 9–11 классе — Python или C++?

Python разрешён на всех этапах ВсОШ по информатике, и на школьном этапе его скорости хватает. Дальше язык действительно начинает упираться в лимит, но лечится это сменой алгоритма, а не сменой языка — у нас это разобрано с замерами на своих задачах.

Где взять задания прошлых лет?

Условия прошлых туров публикуют организаторы олимпиады, и мы их у себя не копируем. Мы даём другое: свои задачи того же типа с автопроверкой и разбором каждой попытки — тренироваться на них полезнее, чем читать чужой разбор, потому что решение проверяется так же, как на настоящем туре.

Зачем участвовать в 11 классе, если поступать уже в этом году?

Цепочка укладывается в один учебный год: школьный этап осенью, муниципальный зимой, региональный в январе — феврале, заключительный весной. Диплом заключительного этапа даёт поступление без вступительных испытаний в том же году. Правила приёма вузы публикуют сами, и проверять их нужно в год поступления.

Сколько времени нужно на подготовку?

Если язык уже есть — месяц по 30–40 минут в день закрывает базовый набор приёмов: план выше как раз на четыре недели. Если языка пока нет, сначала нужен он, и это ещё пара месяцев: начинать тогда надо не с этапа, а с курса.

С чего начать сегодня

Подготовка к этапу — это решённые задачи, а не прочитанные статьи. Пятнадцать минут прямо сейчас: открыть первую задачу с автопроверкой — без регистрации и бесплатно.