Machine Solution 💻 Спортпрога
103 subscribers
32 photos
10 links
Download Telegram
То чувство, когда уже codeforces признал, что я - машина 💪
2
Теоретическая тренировка 🧑‍🎓

На сайте codeforces в разделе edu есть парочка очень занятных курсов. В первую очередь я прорешал суффиксный массив.

Чтобы не рассказывать что это такое расскажу лучше зачем это такое:

Например, с помощью суффиксного массива можно найти наибольшую общую подстроку или количество различных подстрок за O(n log(n)) времени и ещё более сложные вещи со строками быстрее, чем за квадрат

Не думаю, что это обязательная тема для начинающих, но мне может помочь
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Первая тренировка 2026 🎄

2026 год начался с провалов. Писал вчера Hello 2026 - это тако глобальный раунд на codeforces и вот что вышло

✔️ 4 задачи, 📊 1739 место, 📉 -105 пунктов рейтинга

Что пошло не так?
Сказать тяжело, но самым большим разочарованием стала задача 🔤2️⃣ - её я просто не смог решить

Но ничего страшного, со всеми бывает. Ждём следующего раунда

Зато хочу рассказать про задачу 🔤. Ниже спойлер для тех, кто хочет узнать подсказку
Это эталонная задача на бинпоиск. Дело в том, что ответ в явном виде найти не получается. Зато для любого t мы можем проверить сколько нужно шагов, чтобы захватить t клеток, а значит и понять t меньше ответа или нет. Стоит только запустить бинпоиск по ответу и задача решена
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Как растить скилл 📈

Сегодня дорешал три задачи со вчерашнего контеста - 🔤2️⃣, 🔤, 🔤

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

Ну а если раунд пошёл совсем не по плану, приходится отдуваться и решать целых три штуки 😁

В любом случае задачи были интересные, можно было сдать за основное время
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Проводим выходные с пользой

Прохожу всё тот же курс на codeforces edu, на очереди дерево отрезков

Вообще дерево отрезков - это легендарная структура данных и вот почему:

Она очень простая. Научиться писать ДО проще простого. Это вообще была первая структура данных, которую я узнал

Она очень мощная. Чего только не придумывается с деревом отрезков, я знаю как минимум 3 модификации дерева. Иногда они даже помогают придумать неавторское решение некоторых задач

Кроме ДО не нужно никаких структур данных для школьных олимпиад. Так что если это читает школьник - то выучи ДО и всерос в кармане
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Codeforces Round 1072 (Div. 3)

Решил вечерком написать div 3 раунд на codeforces в качестве тренировки

7 задач, 📊 186 место, 📈 без рейтинга

Я не очень часто писал div3 раунды, но по ощущениям он проще чем div2 примерно на 2 задачи, так что закрыть этот контест - вполне ожидаемый для меня результат. Тем более до конца контеста ещё 30 минут, так что никаких спойлеров не напишу

💪 В целом количеством задач доволен, хотя и было много затупов и ошибочных посылок, но победителей закрывателей контестов не судят
Please open Telegram to view this post
VIEW IN TELEGRAM
2
В командном соревновании не без командных тренировок

Вчера написали командный контест по задачам одного из полуфиналов ICPC этого года на платформе ucup 🏆

На место можно не смотреть, потому что тут не только команды с полуфинала, но и все-все-все такие как мы, которые захотели написать этот контест

Честно говоря, вышло неплохо, хотя во время контеста казалось, что и штрафа много и решаем мало. Единственное плохо, что не сдали задачу L во время контеста. Запутались в своём же коде

Уже сегодня все мы по-отдельности дорешали эту задачу и сдали без проблем 💪
5
Где я решаю задачки по спортпроге?

Сейчас основная площадка, где я решаю задачи по спортивному программированию, — это codeforces.com, и я его очень советую. Это такая платформа с задачами по алгоритмам и регулярными соревнованиями

Как аналог для личных совревнований я планирую попробовать atCoder, а для командных тренировок мы используем Universal Cup - это серия онлайн-контестов для команд

Периодически на codeforces проходят раунды - это такие соревнования из, обычно, 5-7 задач, хотя иногда их бывает 10 и более. Длятся раунды 2-3 часа

🔥 Раунды состоят из абсолютно новых и интересных задач

🔥 На раундах можно соревноваться в реальном времени с другими участниками и получать рейтинг

🔥 А все задачи раунда после окнчания попадают в архив, откуда их тоже можно решать

Свои первые задачи на codeforces я решал из архива, начиная с самых простых

К слову, ближайший раунд на codeforces будет завтра, в субботу, в 17:35 мск. Кто планирует написать? 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍1
Codeforces Round 1073 (Div. 1)

Продолжаю полосу неудач в рейтинговых раундах

3 задачи, 📊 513 место, 📉 -23 рейтинга

Как вы уже поняли, тренировкой я не доволен. В этом раунде мне нужно было решать как минимум 4️⃣ задачи, а лучше 5️⃣

Что же пошло не так? А не так пошла задача 🔤2️⃣, на которую я потратил 1.5 часа в попытках написать довольно запутанную комбинаторику и так и не получил работающего решения. Мораль - любите задачи на формулки 😕

Хотя бы я принял волевое решение бросить задачу и решил хотя бы 🔤

Да, тяжело возвращаться в раунды после длительного перерыва, но ничего не поделаешь, нужно набирать форму
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🏆1
Командная тренировка #2

Сегодня мы написали вторую командную тренировку на том же сайте с командными контестами Universal Cup 🏆

Вышло даже неплохо, место у нас чуть повыше, чем в прошлый раз, даже не было такого, что мы придумали решение задачи и не смогли его заслать. Хотя можно было бы делать поменьше неверных посылок, но это уже другой разговор 🤫
🥰3🔥1😁1
После вчерашнего контеста, в лучших традициях тренировок я дорешал задачу F - ту, над которой мы думали 1.5 часа и так и не придумали

Она оказалось решаемой, хотя и не сказал бы, что простой. Тем не менее у неё довольно прикольное решение, которое я могу разобрать для этого канала ❤️

Если интересно почитать - ставьте лайк ❤️ под этот пост. Пять сердечек - и я пишу разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
21
Разбор задачи F

Вы - голосовали и ждали. Я - писал разбор

Так как текста всё же очень много для телеграмма, разбор доступен на codeforces: https://codeforces.com/blog/entry/150355 (доступно даже без регистрации)

Разбор получился подробным, полным подсказок и идей, до которых заинтересованному читателю предлагается додуматься самостоятельно. Если вы, конечно, чувствуете в себе силы, ведь задачу тяжело назвать простой 🤔

На написание разбора ушёл весь вчерашний вечер, так что, если вы зарегистрированы на codeforces - прожмите лайк (такая стрелочка вверх под постом ⬆️) этому посту, особенно если понравилось содержимое

Ну и приятного прочтения 😌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71👍1
Тренировка по далёкому 2022 году

Сегодня написали третью командную тренировку

Получилось похуже, чем в первых двух, но не что-то фатальное. Особенно если учесть, что каждая первая задача была на тупую долгую реализацию 🤮 - это даже неплохо. Казалось, что мы выступили сильно хуже, чем 150 строчка

Безусловно, контесты на реализацию тоже нужно уметь решать, противные задачки будут везде и всегда, так что это была хорошая практика для нас

А по 2022 году она, потому что контест основан на задачах полуфинала ICPC одного из регионов 🎈
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Codeforces Round 1075 (Div 2)

Этот пост про раунд будет необычным, ведь я писал его ещё 17-ого января в качестве тестера!

Наверное, большого смысла в результатах нет, так как с тех пор произошли некоторые изменения по задачам, но на тестинге раунда я решил 5 задач: 🔤🔤🔤1️⃣🔤2️⃣🔤

Уже наученный горьким опытом, я во время тура скипнул задачу 🔤, после того, как за 20 минут получил лишь одну идею, и то не верную, и тем самым спас перформанс в раунде, решив задачу 🔤

А уже сегодня на раунде задача была разбита на 🔤1️⃣ и 🔤2️⃣. Хочется верить, что мой фидбэк внёс в это решение некий вклад

А вообще было весело тестить раунд, так что можете смело звать на подобные мероприятия ❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
5
AtCoder Beginner Contest 442

Написал сегодня свой первый раунд на AtCoder

5 задач, 📊 1875 место, 📈 +214 рейтинга

На самом деле раунд намного динамичнее, чем на codeforces, потому что на него даётся 100 минут (а не 120) Зато лёгкий недостаток времени компенсируется простотой задач. Первые 4 задачи я сдал меньше чем за 12 минут

Ну и дальше я, получается, перестарался со своим скиллом пропуска задач и, видимо, решение G у меня всё же неверное 😁 Как говорится, перехитрил сам себя

Пока не ясно насколько это выступление плохое (или хорошее, кто знает), мне в какой-то момент должны присвоить мой первый рейтинг ↗️

В любом случае пописать задач на реализацию было полезно, так что одобряем AtCoder 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Codeforces Round 1076 (Div 3)

Ну вот пошёл нормальный перформанс. А стоило только выспаться 😴

8 задач, 📊 58* место, без рейтинга

На самом деле результат, действительно, хороший, хоть у меня и есть 3 неверных посылки и последнюю задачу я сдал за 5 минут до конца, то есть впритык 😳 На сегодня можно и отдохнуть 🏖️

*Места в нерейтинговых раундах я привожу среди всех участников, в том числе, которые пишут раунд как и я, не на рейтинг. Если считать только официальных участников, я бы занял первое (ну да, Андрей, нашёл чем хвастаться, побил чуваков 1600 рейтинга, молодец 😁)
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
Разбираемся в раундах Codeforces

В одном из предыдущих постов я писал про codeforces и о том, что там можно писать раунды. В продолжении этой темы я хочу сделать обзор на все типы раундов, которые только существуют 📍

⭐️ Div 2 раунды - в моё время это были с отрывом самые популярные раунды для начинающих. В них, обычно, 6 задач на 2 часа времени и они являются рейтинговыми для участников, с рейтингом до 2100 📈 пунктов. Так исторически сложилось, что я измеряю сложности всех задач через Div 2 раунды, так что для нас это будут ещё и эталонные соревнования


⭐️ Div 1 раунды - это уже соревнования посложнее. Задача 🔤 из Div 1 по сложности такая же, как и задача 🔤 из Div 2, а задача 🔤 из Div 1 такая же, как задача 🔤 из Div 2. Более того, они, обычно, бывают "совмещёнными" с Div 2 раундами, то есть проходят по пересекающимся наборам задач и в одно и то же время, тогда задачи 🔤🔤 из Div 1 совпадают с задачами 🔤🔤 из Div 2. В них также обычно 6 задач и 2 часа времени и они уже рейтинговые для всех участников. Правда, если Ваш рейтинг выше 1900 и раунды Div 1 и Div 2 проводятся совмещённо, зарегистрироваться получится только на Div 1


⭐️ Global раунды - это большие раунды на 3 часа и 8-11 задач, в зависимости от размаха. Они проводятся довольно редко и подходят всем участникам, так как первые 6 задач раунда по сложности являются задачами Div 2 раунда. Тем не менее, из-за дополнительного часа, на таких раундах, обычно, удаётся решить больше задач, чем на Div 2


⭐️ Educational раунды - они практически копия Div 2 раундов, не отличаются по сложности, количеству задач и длительности, но немного отличаются по формату. Если в предыдущих раундах за решённую задачу ты получаешь баллы, то здесь используются правила ICPC - чем больше решённых задач, тем выше место, а участники с одинаковым количеством задач сравниваются по штрафному времени


⭐️ Div 3 раунды - тут мне самому пришлось залезть в интернет и изучить внимательнее формат и правила, так как эти раунды появилист относительно недавно (лет 5 всего как). Итак, эти раунды, обычно, состоят из 7 задач и на них отводится 2-2.5 часа времени. Они легче Div 2 раундов на 2 задачи, то есть задача 🔤 c Div 2 будет задачей 🔤 c Div 3. И проводятся они в формате Educational rounds. С рейтингом всё чуточку сложнее 🤨 Вам нужно иметь либо рейтинг ниже 1600, либо ни разу до этого не подниматься в рейтинге выше, чем на 1900


⭐️ Div 4 раунды - это самые простые раунды, они состоят из 7-8 задач и проще Div 3 на одну задачу. Хотя знаете, в этом я могу ошибаться, так как писал Div 4 раунд всего один раз. Зато что точно я могу сказать, так это то, что для рейтингового участия Ваш рейтинг должен быть меньше, чем 1400. И да, эти раунды тоже проходят по правилам Educational rounds


Чтож, такой вот получился обзор, теперь вам будет чуть проще соотносить результаты в раундах разных дивизионов. Все утверждения про сложность раундов основаны на опыте участия, поэтому, если вы не согласны с чем-то из поста - пишите в комментарии и мы это обсудим ✍️
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Если бы я разбирал задачи из codeforces на тему "как до неё додуматься", какая сложность была бы для вас интересна?
Anonymous Poll
18%
A Div 2
13%
B Div 2
21%
C Div 2
45%
D Div 2
66%
E Div 2
71%
F Div 2
5%
Разборы неинтересны
А сегодня я уезжаю в столицу спортивного программирования северо-западной Европы - Петрозаводск 🎈

А заодно и узнаем, почему все сборы проводятся там. Ну и в целом проводить сборы не в том городе, в котором живёшь - большой плюс. Проще будет с расписанием, будет непривычная обстановка и имитация контеста

Будет много бота, командных контестов и дорешки. Мы едем в немного изменённом составе, но это всё равно должно быть очень полезным

Интересно будет следить за результатами? 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍4💯1