Как ботать олимпиадное программирование?
Автор : @d3j4vYВсех приветствую!
Я бы хотел поделиться тем, что я осознал за 3 года в олимп проге, а также своей историей, как вообще ботать перед всероссом и ботать в целом. Пост выше был про математическую базу, и да, действительно, математический склад ума очень нужен в программировании и оказывает сильный толчок практически с ходу. Конкретно у меня был уровень нижнего призера республики в РТ, не скажу, что из математики нужно знать прям многое, но хотя бы базу, как, например, индукция или доказательство от обратного, освоить стоит. Судя по своему опыту, могу сказать, что много кто думает, что они много ботают, но на олимпиадах не удается добиться успеха, да и в целом хороших результатов нет. Помимо того, чтобы много ботать, нужно ботать правильно.
Главное, что я понял для себя - это что решение посильных вам задач не дает особо никакого прироста. В целом олимпиадное программирование очень отличается например от гуманитарных наук тем, что здесь человек не может сам явно видеть, правильно ли он развивается, улучшается ли его ум и т.д. . Поэтому многие просто заходят на кфчик, решают там раунды, условно осиливают каждый раз 3 задачи, которые просто им под силу, а на остальные забивают. Очень важно уяснить, что нужно стараться дорешивать абсолютно все контесты, которые вы пишете. Здесь, как и в многих других сферах, работает правило, что если вам реально тяжело, вы на правильном пути. Не нужно думать про время, думать про то, что у вас не получается задача и так далее. Само ваше развитие происходит в момент того, как вы думаете над задачей, уровень которой сейчас выше вашего уровня. Не бойтесь тратить на сложную задачу несколько дней, все равно вы будете генерировать определенные идеи, а когда все-таки вы ее не решаете, читайте разбор, понимайте и пишите код, даже если это мерзко писать. Все, кто добились в этой сфере большого успеха, на олимпиадах не думают о том, какой код мерзкий и т.д., потому что этот этап они уже прошли в процессе тренировки :)
Старайтесь подбирать хорошие задачи! В этом плане вы должны все тщательно анализировать, условно на том же кф есть много хороших идей, но, например, готовиться к региону, решая кфы - плохая практика. Перед олимпиадой решайте конкретно прошлые года этой олимпиады, а самое главное - дорешивайте. Просто берите регион и набирайте на нем 800 баллов, если не выходит даже с разбором, разберитесь в авторском коде, даже если тяжело.
Как ботать перед всероссом? Опять же, на своем опыте, перед всероссом я просто нарешивал прошлые года, старался закрывать все на 750+, узнавал реально кучу новых идей и чувствовал, как я развивался. Теперь пару советов по лайфстайлу перед олимпиадой. Лично я перед любой олимпиадой неделю не пишу код вообще и не решаю задачи, возможно это много, но пару дней точно следует перед олимпиадой даже не думать про задачи и код. Для чего это делается? Многие наверное за собой замечали, как после длительного периода бота нет желания писать код, а когда наоборот долго не решали задачи, и когда вам ее дают, вы решаете ее с интересом. Как раз для этого и нужно расслабить мозг за несколько дней перед важным туром. Также наверное всем очевидно, что перед олимпиадой стоит выспаться, но чаще всего перед ней у меня был сбитый режим, здесь я делал так, не высыпался за день до олимпиады, вставал просто рано, потом днем гулял или бегал, чтобы часам к 8-9 вечера меня просто отрубало, и так и происходило, в итоге у меня получалось высыпаться. В целом я поделился тем, что реально считаю правдой :)
Всем успехов!)