Привет, меня зовут Сергей Вольнов и я сейчас учусь на первом курсе в НИУ ВШЭ на программе прикладной математики и информатики. Если поступать туда по ЕГЭ, то проходной в этом году был 304 балла по трем предметам, но выиграв олимпиады туда можно без вступительных испытаний.
В 10 и 11 классе я стал призером заключительного этапа Всероссийской Олимпиады Школьников по Информатике (ВСОШ) и даже стал медалистом на международной Жаутыковской олимпиаде по Computer Science. Призерство ВСОШ дало мне возможность поступить в любой ВУЗ на информатическое направление по БВИ и я выбрал ВШЭ.
В этой статье я хотел бы рассказать о том как готовился к олимпиадам по информатике, какие есть кружки/курсы и как правильно вести себя на турах.
Немного предыстории
В 6-7 классе я занимался физикой и в конце 7 класса даже стал призером заключительного этапа олимпиады Максвелла по физике (что-то типо ВСОШ для младших классов). С 8 класса (агрессивно с 9) я ботал олимпиадную информатику и в итоге в 10 и 11 классах стал призером ВСОШ по информатике. Я не считаю себя каким-то мега-гением, а скорее думаю, что при должном усилие заботать можно все — осталось лишь приложить усилие.
Олимпиадная информатика VS жизнь
Вообще, олимпиадная информатике довольно сильно отличается от обычной. Весь мир олимпиадной информатике крутится вокруг различных алгоритмов и структур данных, чтобы уметь считать какие-то вещи оптимально. В обычной разработке с этими алгоритмами сталкиваешься куда реже и в сильно меньшем объеме по сравнению со школьными олимпиадами, но уметь применять базовые алгоритмы все равно необходимо (+ их часто спрашивают на собеседованиях). Так что эта статья может быть полезна и тем, кто просто решил подтянуть свои знания в этой области, но не знает с чего начать.
Все ресурсы подготовки к ВСОШ можно разделить на три основных блока: курсы и кружки, олимпиадные смены и летние школы и онлайн ресурсы для самоподготовки. Давайте сейчас подробнее рассмотрим каждый из этих блоков.
Курсы и кружки по подготовке
Обычно курсы составляют наибольшую часть подготовки, так как это занятия на постоянной основе, включающие в себя как практику так и теорию, так что поступить на хорошие курсы это уже половина пути к вашей победе. Ниже я подробно расскажу о тех курсах, которые проходил сам и оставлю ссылочки на те ресурсы, о которых только слышал.
Tinkoff Generation | Оффлайн/Онлайн
Однозначно лучший из курсов, который я проходил. Занятия проходят раз в неделю по 5 часов, на неделю дается контест с задачами на пройденную тему, есть разборы и дорешки контестов, а так же семинары на которых решаете теоретические задачи. Еще есть возможность писать дистанционные туры и в принципе крутое олимпиадное комьюнити.
Есть несколько уровней сложности: C, B’, B, A’, A, каждый уровень — годовой курс. Свой первый всерос я взял, пройдя B’ и B. Сам курс бесплатный, но для поступления нужно решить отборочный контест, который проходит в конце августа или пройти донабор в начале январе. За анонсами можно следить в их телеграмм канале.
Кружки от ЦПМ | Оффлайн
В 9 классе ходил на кружок в центр педагогического мастерства (ЦПМ). Сами занятия были выстроены хорошо, но одного этого кружка было бы маловат, так как это всего 3 часа в неделю (для сравнения, в Тинькоффе 5 часов в неделю) и контесты в качестве домашнего задания меньше. Думаю, может быть неплохим вариантов в качестве дополнительного кружка.
Занятия в школе | Оффлайн
Иногда в школах есть свои кружки по информатике — их качество может сильно варьироваться в зависимости от школы, но мне повезло и у меня был очень сильный кружок (я учился в Физтех-лицее им П. Л. Капицы), в который я ходил в 10 классе. Возможно в вашей школе тоже есть что-то такое.
Ссылочки на разные кружки/курсы, в которых сам не занимался
-
Школа программистов | Платно/Бесплатно
-
Яндекс Практикум | Платно
-
Фоксфорд | Платно
-
Сириус Курсы | Бесплатно
-
Курс на Stepik по введению в С++ | Бесплатно
Онлайн ресурсы для самостоятельной подготовки
Вообще есть довольно много ресурсов, где можно решать алгоритмические задачи (LeetCode, Informatics, Timus и тд), но я за время своей подготовки пользовался в основном Codeforces и чуть-чуть Informatics (для прорешивания туров ВСОШ прошлых лет).
Codeforces это сайт, на котором пару раз в неделю проводятся микро соревнования, которые можно писать для тренировки в «боевых условиях». Также имеется довольно большой архив задач для самостоятельной подготовки. Всем советую его решать, так как это является хорошим приближением (по формату) разных олимпиадок + дополнительная практика.
Образовательные интенсивы
Помимо кружков и курсов есть еще один распространенный формат подготовки — это различные летние школы, сборы и образовательные смены. Их суть заключается в том, чтобы в короткие сроки (обычно 2-3 недели) дать максимум подготовки. Каждый день у вас есть много пар связанных с олимпиадным программированием, которые зачастую делятся на два типа: вначале идет лекция, а потом решаете контест на пройденную тему + дорешка в свободное время. Обычно вся эта активности идет с утра и часов до 17 (дальше отдых), так что бота реально много, но и прокачивает хорошо.
Олимпиадные школы от МФТИ (ЛОШ/ЗОШ) | 2 недели, Платно
Это была моя первая олимпиадная школа, в которую я поехал летом после 8-ого класса. Я бы посоветовал ее именно в качестве начального варианта, так как туда не очень сложный отбор и довольно неплохой уровень обучения. Так что это хорошая возможность подготовиться к отборочным во всякие кружки по типу Тинькоффа (которые проходят в конце лета), ведь чтобы в них пройти нужно уже иметь некоторый бэкграунд.
Сириус | 3 недели, Бесплатно
Возможно вы про него уже где-то слышали, но для тех, кто нет — это такой образовательный центр в Сочи, с очень сильным преподавательским составом и классными условиями проживания. Он проводит смены по разным направлениям несколько раз в год, в том числе и информатике. Актуальные смены можно отслеживать на их сайте.
Сам был в нем 3 раза на информатических и 2 раза на физических сменах. Для того, чтобы туда попасть нужно пройти отбор (не очень легкий) или уже показать хорошие результаты на региональном/заключительном этапе. Может хорошо прокачать даже опытных олимпиадников, так что всем советую мониторить его программы и подаваться.
Летняя Компьютерная Школа (ЛКШ) | 2 недели, Платно
Сильная олимпиадная школа, о которой не раз слышал хорошие отзывы. Сам в нее прошел в 9 классе, но ее в том году отменили из-за ковида, так что съездить не смог, а в 10 уже и сам всерос взял. Сложность отборочного варьируется в зависимости от того на какую параллель хотите ехать, так что можно подобрать под себя. Отбор проходит где-то в начале мая.
ШОП Иннополис | 7-10 дней, Платно
Ездил один раз в 10 классе. Если честно, не очень помню подробности, но вроде было нормально.
Региональные Сборы | 1-2 недели, Бесплатно
В многих регионах, в частности в московской области, проводятся сборы по подготовке к региональному и/или заключительному этапу ВСОШ. Для того, чтобы на них попасть нужно просто выйти на соответствующий этап и подать заявку через сайт. Вообще, советую не упускать шанса лишний раз подготовиться, так что если у вас в регионе такое проводят, то участвуйте.
Ссылочки на разные интенсивы, в которых сам не занимался
-
Летняя школа по компьютерным наукам (ЛШКН) | Платно, Оффлайн
-
Летняя компьютерная школа (ЛКЛ) | Платно, Оффлайн
-
RuCode | Бесплатно, Онлайн
-
Moscow Workshops Juniors | Платно, Онлайн
-
Зимний олимпиадный марафон от СУНЦа | Платно для не СУНЦа, Онлайн/Оффлайн
Как ботать эффективно?
Курсы и интенсивы можно проходить по-разному. Буквально один совет, чтобы повысить эффект от курсов в несколько раз: ❗️Дорешивайте задачи❗️. Если вы просто решаете задачи, то применяете те знания, что уже у вас есть, а если вы его после разбора дорешиваете, то узнаете кучу нового. Я это осознал только к 10 классу и стал полностью закрывать контесты на дорешке — реально в разы эффективнее.
Во многих кружках и школах проводятся разборы, так что остается только закодить (просто осознать разбор сильно хуже откладывается в голове). На codeforces можете дорешивать только те задачи, над которыми успели подумать во время раунда (разборы там тоже публикуются). В общем не пренебрегайте этим сильным инструментом.
Поведение на турах
Безусловно, подготовка играет решающую роль в твоей победе на олимпиаде, однако когда дело доходит до написания самого тура очень важно выложится на максимум и показать всю силу своих скиллов. Реальные условия олимпиады зачастую отличаются от тех, в которых ты готовился: много стресса, строгое ограничение по времени и высокое значение самой олимпиады явно не упрощают процесс написания контента. Поэтому в этой части я расскажу о том, какие приемы использовал во время написания туров в боевых условиях и как выложится на свой максимум.
До тура
Для начала разберем, что стоит делать, когда тур еще не начался, но уже на носу.
Во-первых, настройте себе режим дня заранее! Очень часто замечал, что люди всю неделю до тура идут спать после 00, а в последний день такие «лягу в 22, завтра ведь в 6 утра вставать». В итоге ложились и просто не могли заснуть до часу ночи, а потом писали региональный этап, поспав 5 часов. Не надо так)
Во-вторых, за день до тура (а лучше за два) ботать запрещено, чтобы дать мозгу отдохнуть — все равно перед смертью не надышишься. В идеале просто много гулять, можно поиграть в настольные/спортивные игры или позаниматься еще чем-нибудь, что не требует больших умственных усилий.
Перед туром нужно хорошо поесть, чтобы хватило надолго (в идеале где-то за час до тура). В дополнение к шоколадкам на олимпиаду мне еще нравилось брать чай с сахаром (быстрые углеводы) и какую-нибудь булочку, так как на одном шоколаде может быть сложно 5 часов писать тур.
Еще я перед туром съедал по 3 аскорбинки, так как однажды услышал от одного препода, что они разгоняют мозг немного. 99%, что это полная лажа, но тем не менее я их ел))
На туре
Теперь давайте пройдемся по основным правилам, которыми я старался следовать на турах и о которых я не раз слышал от своих преподавателей.
-
Важно: основная цель на туре это не решить много задач, а набрать много баллов.
-
После тура не должно быть ни одной подгруппы, которая «легкая, но просто прочитал в последние 5 минут и не успел решить».
-
Если задача не идет — переключитесь и повыбивайте баллы где можете (она в фоне все равно будет думаться).
-
Выход в туалет — отличный способ проветриться, не стоит им пренебрегать.
-
К середине тура не должно быть ни одной непрочитанной задачи.
-
Если задачка не придумывается сходу, то хорошей практикой будет решать ее по подгруппам, так как часто жюри их делают так, чтобы они подводили к полному решению.
-
Чтобы меньше нервничать мне помогала следующая парадигма: «моя задача решить на мой максимум, чтобы я ни о чем не жалел после тура, а остальное от меня не зависит (стану ли я в итоге призером/победителем или нет)». В таком случае, даже если в этом году загробили B, то ты сможешь переключиться, а не загоняться по этому поводу весь раунд и решать B на полный балл вместо выбивания баллов.
Тайминги по решение задач на туре
На региональном этапе хорошей стратегией может оказаться следующая:
1. A и B решаете за первые час-два
2. Потом закрываете все подгруппы, который можете в D
3. Оставшееся время спокойно решаете C.
На заключительном этапе:
1. A и B решаете за первые час-два (если B не идет, то можно переключится на D)
2. Потом закрываете все подгруппы, который можете в D
3. Оставшееся время спокойно решаете C (и B, если еще не дорешали ее).
Второй тур
На второй нужно идти так, будто это первый, опять решать все на максимум и никак не ориентироваться на баллы первого тура. Второй тур очень сильно влияет, так что даже после успешного первого тура можно все слить и после слитого перого тура можно все вытащить. В остальном советы такие же, как и для первого дня.
Заключение
В этой статье я постарался как можно подробнее рассказать о ресурсах и трюках, которые помогли мне стать призером Всероссийской Олимпиады Школьников по информатике и надеюсь они помогут вам. Всем успехов!
P.S. Еще я веду канал в телеграмме — буду рад всех там видеть)
ссылка на оригинал статьи https://habr.com/ru/post/720840/
Добавить комментарий