Мой путь до 1600 рейтинга...

Правка ru6, от nileq, 2025-06-22 19:15:59

Привет, codeforces!

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

(P.S Если вы опытнее меня в спортивном программировании — буду рад любой помощи, совету или рекомендации. Можете подсказать интересные задачи, что можно изменить в плане по изучению и так далее. Ваш опыт для меня очень важен, особенно в начале пути.)

Также не забудьте посмотреть прогресс моего друга autaons!


План по изучению

2-я неделя:

- 2 дня: подтянуть базовые техники: 
    • бинарный поиск по ответу
    • два указателя
    • хэш-таблицы
    • повторить C++

3-я неделя:

- 1-2 дня: работа с мышлением 
    • Комбинаторика
    • Решение и разбор задач с нетривиальными идеями (можете посоветовать?)
- 2-6 дней: рекурсия, динамическое программирование и обратный ход
    • Рекурсия и подобные алгоритмы 
    • Обратный ход
    • Динамическое программирование
- 7 день: повторение

4-я неделя:

В процессе..

Неделя #1

Суббота: повторил двоичный поиск по ответу, два указателя (sliding window) и различные техники.

- Список решенных задач (23): Sphere Online Judge (AGGRCOW, задача о дровосеке), codeforces (Наидлиннейший k-хороший подотрезок, сотовая связь..) и Leetcode (типовые задачи на два указателя)
- В процессе изучения: комбинаторика (Формула размещения и сочетания; Выводил формулы сам на основе задач о шарах); 
- Разбор задачи Div2B - [Gellyfish and Baby's Breath](https://mirror.codeforces.com/problemset/problem/2116/B?locale=en)

Неделя #2

Перед началом этого поста хотелось бы сказать: да-да, я знаю, что я обещал обновлять пост ежедневно, но кто из нас не человек? Надеюсь вы меня простите =).

Что ж.. с чего начать? За эту неделю произошло довольно многое.. во-первых, я не совсем следовал плану, который я написал выше. Прежде всего я работал над мышлением, то есть над моими problem solving issue и statement reading issue. Из этого всего я выделил несколько паттернов, которые часто встречаются в задачах:

- Сначала читай входные и выходные данные, быстро пробегаясь по сюжету, так как часто в задачах вся информация там сжатая (попробуйте потренироваться и вы увидите насколько я прав (не всегда)). 
- При чтении условии задумывайся о каждой детали, которое может подтолкнуть к решению. Оно странное? Возможно, это и есть тот ключ!
- Записывайте частые паттерны. Например, лично я завел специальный файл, где описываю паттерны, что я заметил и насколько я был близок. 
- Разбирал абсолютно весь Div2-контест. Причем, не просто: "я понял, пойду дальше..", а думал как на самом соревновании я мог прийти к этому. Может, надо было посмотреть повнимательнее на формулу или перебрать числа и заметить закономерность. 
- НИКОГДА НЕ СМОТРЕЛ КОД ИЗ EDITORIAL!! Возможно, прозвучит странно, но я всегда стараюсь написать сам. Даже когда есть мощнейшее желание посмотреть решение автора я понимаю, что для моего развития это плохо.

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


↓ Если вам интересно, как всё пойдёт (как и мне), не забудьте поставить лайк!

Теги roadto1600, beginner

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru6 Русский nileq 2025-06-22 19:15:59 1674 Мелкая правка: 'ть пост __**ежедневно**__, но про' -> 'ть пост __ежедневно__, но про'
ru5 Русский autaons 2025-06-15 14:41:21 22 Мелкая правка: 'его друга **autaons**!\n\n\n---' -> 'его друга [user:autaons]!\n\n\n---'
ru4 Русский nileq 2025-06-15 14:16:54 24
ru3 Русский nileq 2025-06-15 14:16:06 84
ru2 Русский nileq 2025-06-15 08:41:51 920 Мелкая правка: '------\n\n\n\n----' -> '------\n\nПрогресс #1\n------------------\n\n\n----'
ru1 Русский nileq 2025-06-14 08:06:15 1346 Первая редакция (опубликовано)