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

Автор Isamatdin, история, 4 недели назад, По-русски

Привет, сообщество Codeforces!

Я уже давно стараюсь подняться до уровня Специалист, но кажется, что застрял на месте. Вкладываю много сил в практику и изучение алгоритмов, но прогресс идет медленно. Поэтому решил обратиться за советом к вам!

Вот что я уже пробовал:

  • Практика основ: Решаю задачи уровня A и B, чтобы лучше освоить базовые алгоритмы и структуры данных.
  • Тематическая практика: Фокусируюсь на конкретных темах, таких как сортировка, двоичный поиск, динамическое программирование, но иногда не знаю, какие темы приоритетнее.
  • Давление времени: На соревнованиях не всегда успеваю решать задачи достаточно быстро для увеличения рейтинга. Вопросы к вам
  • Как вам удалось достичь уровня Специалист? Может быть, у вас был какой-то особый подход, тема или рутина, которая помогла?
  • Как улучшить скорость и точность в условиях соревнований?
  • Какие темы вы считаете наиболее важными на этом этапе? Не хочу тратить время на темы, которые сейчас не сильно помогут. Заранее спасибо за любые советы и опыт! Буду рад услышать ваши истории и рекомендации.

Удачи в кодинге!

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

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been translated by Isamatdin (original revision, translated revision, compare)

  • »
    »
    4 недели назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    I Have seen your Progress and this works only for u since u already have enough Knowledge

    1. Don't Over Complicate Problems.
    2. Try to Improve ur speed

    then u are specialist u don't need any additional thing

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Автокомментарий: текст был обновлен пользователем Isamatdin (предыдущая версия, новая версия, сравнить).

»
4 недели назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Решай больше задач. Важно так же дорешивать задачи с контестов, которые ты писал. Старайся сдавать не только A и B задачи, но и более сложные (возможно, после прочтения разбора).

  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Хотелось-бы спросить, лучше-ли решать задачи в виртуальном контесте чем по рейтингу? Спасибо за совет!

    • »
      »
      »
      4 недели назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Это на самом деле зависит от нескольких факторов. Если есть достаточно много времени, то имхо лучше написать виртуально, а потом дорешивать. Но дорешивать задачи с уже прошедших контестов так же важно (особенно если ты в них участвовал).

  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    Я так хотел стать КМ когда-то, но Бог не дал мне этого. Поэтому я сдался. Зайди на мои акк и дайте совет если хотите кнч

»
4 недели назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

I think that you should practice on leetcode.com. 2000 rating there = specialist on cf.

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Impressive practice progress, I'm also stuck very hard and can't reach specialist but I think the most reliable way is "over-level" to reach there.

That is, if the coding strength level is at expert then we will reach specialist in shorter time. Which require more intensive level grinding like RPG games...

»
4 недели назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

practice 1300-1400-1500 questions with different topics

»
4 недели назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

i can't reach specialist too, but i think i am not solving enough problems. What topics should i learn and solve? I cant solve constructives. Should i learn it?

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

U will hit eventually as you have practices alot of 1400-1500. start some 1600 problems and give virtual div2 and div3 daily will help maybe try atcoder beginner contest virtual and fast solve till C and do D by the end of the contest. So basically virtual contest is a way to go

»
4 недели назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

За 10к рублей готов затащить див 2 так, что ты получишь +300 рейтинга разом и улетишь в синего. Пиши.

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I'm not able to solve C consistently in Div. 2, that's why I'm not able to reach Specialist. Hell, I'm not even able to reach 1300.

  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Gosh, you have solved lots of problems!!!

    • »
      »
      »
      4 недели назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Well, I haven't solved most of them on my own. That's why I'm still a pupil.

      • »
        »
        »
        »
        4 недели назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Believe me, you will very soon be specialist. You might not have solved all of them on your own but the fact that you have seen so many problems and recognise patterns very well will soon give you an edge.

      • »
        »
        »
        »
        4 недели назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        i disagree, thats not why youre pupil. youre pupil because when you cant solve a problem and read editorial, you dont actually learn anything from that and you just copy paste the answer. when i practice i mostly end up just reading the editorial for problems, and i solve problems completely on my own probably less than 40% of the time, and i still managed to reach expert. try actually understanding why you didnt come up with a solution, and improve from there

  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Damn I'm kinda in a similar position like you : (

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

я думаю тебе надо решать задачи нового уровня

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

just do regular practice, it will take some time to achieve and learn new topics with practicing questions like dp,graphs,trees and so many others and if you have solved 60-70 problems on a rating then you can solve +200 rating range problems and upsolve 1-2 questions after every contest and try to find why this logic was not coming to your mind during contest and learn from that problem. give your full effort in contest and keep calm your mind during test. and dont see the solution of problem very early , try to observe some pattern or try to make some formula or logic for the given problem.

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Изучи STL, для спеца очень важная вещь

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I think CSES problems help quite a lot for learning, especially the Sorting & Searching section and DP section. There's a corresponding book which goes along with it, which is helpful as well. I would recommend usaco.guide if you're trying to learn a specific topic, since it compiles lots of resources and has related practice problems. If your issue is mostly math, then try using AoPS's Alcumus tool and set it to high difficulty.

As for speed and accuracy, this was my biggest issue for a while. Make sure your editor has proper syntax highlighting and error checking, and also be sure to use g++ flags to catch stuff like invalid memory access or bad type conversions. I use these compilation flags:

DBFLAGS='-Wall -Wextra -O2 -Wshadow -Wfloat-equal -Wconversion -Wshift-overflow=2 -fsanitize=address -fsanitize=undefined -fno-sanitize-recover -fstack-protector'

You don't need to do too much preemptive topic-based learning at this stage, since most of it is practice and pattern-recognition. Each time you can't solve a problem in a contest, read the editorial afterwards and try to figure out what changes to your thought process could have led you to the right solution. If the problem uses a technique you're not familiar with, then this is the right time to learn it.

Best of luck!

  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    damn! Why u giving advice on reaching specialist when u urself never reached there... XD

  • »
    »
    12 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Never used all those flags. Thanks! Didn't expected to learn something new here.

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

You are working in right direction . Just try to solve some 1500 rated problems [around 50 — 60] you will we specialist soon. For Topics -> Binary Search , Greedy , Constructive , Bit manipulation

»
4 недели назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

А оно тебе надо?

»
4 недели назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

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

Незачто.

»
12 дней назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Its easy to reach specialist if you go via the div4 route these days. Back in my days (3 years ago lol) it was a rollercoaster ride (quite evident from my graph). However I didnt really have a target of reaching a particular rating or level, I just did CP for fun until it was no more fun (and now I feel its fun again) eventually until I reached specialist. So the good advice would be to focus on having fun solving problems. On other hand here is the kind of advice you are looking for.