Блог пользователя Modern

Автор Modern, история, 4 месяца назад, По-русски

Наконец-то я смог это сделать!!! Спасибо моим тренерам BledDest и awoo за то, что занимались со мной эти полтора года. Пусть для кого-то это достижение звучит неубедительно, но я очень рад, что наконец-то закрыл эту цель, потому что уже полгода считал себя синим по уровню, но никак не получалось сделать это по факту.

Я обещал самому себе, что обязательно напишу пост на тему того, как стать синим, потому что и самому не хватало такого, и в целом, на CF много ребят, которые ставят перед собой эту цель. Так что, прошу, подробный план того, как это сделать:

Шаг 1: Перейдите на С++, если этого ещё не сделали. Конечно, можно обойтись и Python, но потом будут проблемы, если вдруг Вы захотите выйти на более высокий уровень, решать задачи на сложные структуры. Этот совет мне дал в своё время BledDest. На самом деле, если вы не владеете функциональным программированием, Python покажется даже менее удобным, чем C++. Шаблончики всякие, структуры более логичны в использовании, как мне показалось.

Шаг 2: Прорешайте 100 задачек A-B Div. 2. Все эти задачи на теорию чисел. Желательно, чтобы скорость решения обеих задач занимало минут 15. Задачи это как правильно идейные, математические. Ничего сложнее, чем линейный поиск там знать точно не надо.

Шаг 3: Теперь нужно изучить такие понятия, как префикс суммы, и бин. поиск. Префикс суммы можно прочитать в инете, а по бин поиску на Codeforces в разделе Edu есть отличный курс с задачками на тему.

Шаг 4: Раунды Educational с разборами на русском языке помогут Вам в дорешке без особого труда достичь зелёного цвета. План такой — решаете 2 задачи супер быстро, остальные полтора часа ломаете голову над третьей. Чтобы решить третью, обязательно изучите, что такое stack, map, set и queue в C++, и всего вышеупомянутого будет достаточно.

Шаг 5: Изучите графовые алгоритмы — DFS и BFS, они иногда встречаются в E на Div. 3 и среди последних на Div. 4. Изучите модульную арифметику.

Шаг 6: Прорешиваем все Div. 4 и решаем официально div.2 — div.3, пока не получится подняться до бирюзового ника.

Шаг 7: Синий и бирюзовый отличаются немного скоростью, и частотой допускаемых ошибок (синий реже тупит на задачах, которые по силу, чем бирюзовый). Как показала моя практика, нет никакого смысла решать Div. 2. НЕ ПЫТАЙТЕСЬ ПОДНЯТЬСЯ НА СИНИЙ, ЕСЛИ ВЫ УЖЕ БИРЮЗОВЫЙ, ЧЕРЕЗ DIV. 2. РЕШАЙТЕ ОФИЦИАЛЬНО ТОЛЬКО Div 3 (здесь надо уверенно решать 5/7, 6/8) ЛИБО Div. 1+2 (здесь надо решить 3-4 задачи)

И вот в конце поделюсь 1 полезным сайтом: https://cfviz.netlify.app/virtual-rating-change Можно запускать виртуальные контесты, а потом смотреть, на сколько повысится или понизится рейтинг с полученным результатом. Прикольная штука для повышения интереса к виртуальным соревнованиям.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +38
  • Проголосовать: не нравится

Автор Modern, история, 17 месяцев назад, По-русски

Судя по дорешке я умею решать некоторые задачи 1600+. В Educational стабильно получается решить 3 задачи (хотя при этом на других часто случается какая-то лажа). Анализирую ситуацию полугодовой давности и понимаю, что умение решать задачи 1400+ появилось благодаря тому, что я: а) начал смотреть на ограничения и по ним понимать, что требуется б) прорешал 250 задач за 3 месяца в) увереннее овладел STL Если меня спросят, как апнуть cian, я уверенно скажу — реши 300 задач, большинство из которых должно быть 1200-1600, научись пользоваться set, map и multiset и начни смотреть на ограничения, и ты точно апнешь. Абсолютно конкретные шаги. Но как апнуть синий? Есть ли такие же конкретные шаги, которые нужно сделать для этого?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится