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

Автор kallu_kakulu_dengey, история, 21 месяц назад, По-английски

Hello all,

I have taken a break from Codeforces as I had some exams. I am back now and want to dedicate myself to a full-on grind. I am thinking of three ways to practice.

i) Solve +200 rated Problems till the rating improves. ii) Lone Solve last 100 Div2 Edu C's (As I am able to solve A, B) iii) Solve 60 of each rating starting from +200 of my current rating irrespective of whether my rating increases or not.

In option ii, I have chosen Edu rounds as opposed to normal rounds because I read somewhere the Edu rounds were specifically designed to make people familiar with commonly used techniques in CP. If I am wrong please correct me. Also, If you have any other suggestions please feel free to comment. Thanks for your time.

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

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

"I m not eligible to give advice or suggestions as I m 1120 rated and far lower than you"

Here is just my observation about your graph ,you are doing great ,you have 1390 as max and you have solved approx 350 problems,which correlate with your efforts and ratings. You are improving with your current strategy..you can keep doing this.. There is high chance. That your actual rating is around 1450-1500

You can keep going .

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

Nice one

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

I think problems from normal rounds also sharpen your mind.

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

See never do the third option as solving 60 questions is a good number for any particular rating but the question is will you get comfortable in the rating by solving just 60 questions??

Seeing your rating graph and your problems count I would suggest you should right now focus solely on 1400,1500,1600

Just start with 1400 and do questions till you find that you are very comfortable with it (you can do 80% of questions) once that is done jump on to solving 1500 problems and speed solve 1400 problems as this would increase your speed of solving the rating range problem which you are already comfortable in and simultaneously doing 1500 questions would increase your thinking capability as well.

Do the same with 1500 and then move to doing 1600 questions and speed solving 1500 ones

Once you get comfortable in 1600 you would see that you can solve the first three problems in almost all div2 rounds as there is very less chance that C would be >1600.

Once this is done then just do the same for every new rating.

Now coming to the part about how you should practice questions and how much time to give to a question. Practicing means hiding tags and solving random problems (trust me this works best). And you should at least give 20 minutes of being stuck at any problem which means that say you are trying the question for past hour and now from the last 20 minutes you haven't got any new idea then see HINT or editorial.

Just do this for 3 months consistently and you would definitely see improvements.

Hope you become specialist soon :)

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

    Just start with 1400 and do questions till you find that you are very comfortable with it (you can do 80% of questions)

    This is the part that bothers me. I need some kind of objective measure to decide if I am ready. Successfully solving 80% of problems of a rating becomes a bit subjective don't you think? I can sort by most solved and the measure might get skewed.

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

      That's where "solving random problems" comes into play. Choose a level, say 1400, and solve as many questions as you can without sorting by most solved. Also, try to upsolve every contest that you give.

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

Hi, I have also had a long break from any contest on codeforces (>1 year), but I still practice problems with my alt account

My strategy was to do all div2C problems, its difficulty range is pretty large so I can practice many techniques along with study new things (I might have done ~200), then I just come back a few days ago and you can have a look at my graph to see how efficient it is

And now I'll have another break from contests to work on div2D until I feel confident to get expert and so on

So good luck and keep practicing!

(And sorry for my poor English)

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

    That's a really nice way to practice. How do you choose which Div2 C's to solve? Most recent ones? or Edu's or any other order?

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

      No, I just randomly pick a div2 contest and then choose the problem (with your current profile I think you should work with C first until you reach specialist)

      And also I recommend you to hide the tags of the problem (which I think help me a lot) by going to the settings and turn it off. The tags will be the hint that narrow your thinking abilities and make you become lazier to come up with the solution that real-time contest doesn't have (because you'll already know what do you need to do instead of thinking what should you do to solve that problem in real-time contest)

      (Once again sorry for my fkin poor English)

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

There isn't much you need to learn to get to Specialist. I don't particularly know how I got there myself. When I first reached Cyan, I had about 20+ 1600 rating problems, and 80+ 1400 rating problems. If you can consistently solve A, B and C in div 2 rounds, it will be enough to get you to cyan. After reaching cyan, I focused on practicing 1600 rating problems and above, practicing problems of rating 1600-1800 really helped me a lot to get a stable performance in cyan. I also learnt a lot of algorithms at this stage, most of them were covered by my university syllabus.

I am not yet a stable expert, so there is not much I can say about "how to reach expert". But right now, I am aiming to practice 1900-2100 problems for my next target, which is CM.

To be stable specialist, you will have to be good at solving problems ranging 1500-1700, div2 C are mostly from that range, and also occasionally 1400. They will be enough to get you above 1500. If you can on average get yourself ranked below 2000 you will easily reach 1500 and up to around 1550 rating

Also, I had some downfalls. I once fell to pupil (around 1360), but again, on the next contest I jumped back to specialist with around +75 delta. In high rating it's quite easy to lose rating, but you will usually regain them within a contest or two. Specially above expert it's highly competitive. Most of my friends in expert level have been stuck here for quite a long time

End of the day, it's all about practice. You will need a lot of practice. As for contests, I usually don't do contests much, but they also help. You may consider doing a lot of VC

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

    As for algorithms I learnt, euler phi, sieve variants, trie tree, disjoint set union, binary exponentiation, modulo inverse/ Fermet's little theorem, topological sorting, dijkstra, floyd warshal, bellman ford, hashing, DP (coin dp, knapsack, LCS etc), segment trees, BITs etc. These are usually enough for getting to expert.

    I actually also learnt some other DS and algos as part of my course syllabus like CRT, Edmond carp which I haven't found much use of. Also some other algorithms and techniques I learnt for fun like Sqrt decomposition, Mo's algorithm, Heavy light decomposition, Centroid decomposition have almost no uses below 2000 rating problems. I also learnt KMP, LCA, binary lifting. Problems related to these topics are fairly common in 1900-2000s. KMP is found in 1700-1800s sometimes. All these algos in this section are not necessary for now. I learnt them because I enjoyed learning. Also, I hated having to rely on editorials so I learnt a lot of these algos, so that I don't have to fear missing out knowing something

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

though I am commenting from my alternate account, doing problems not in your comfort zone helps a lot. I became expert in 8 months. I didn't expect to even become a specialist when i started CP.

Here is my main account Java_Programmer

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

    Very nice consistency. How are you choosing which problems to solve? Also, congrats on becoming expert.

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

      Its mentioned hundreds of times on codeforces, but still i will say it again

      1. upsolve at least 1 question.
      2. do greedy, dp ,constructive ,binary search and number theory tagged problems which are (+200,+400) your current rating
      3. Don't care too much about your rating, just enjoy solving problems
  • »
    »
    21 месяц назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    best heatmap, I have ever seen hope u get (A & N also)

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

In my opinion : 1) participate virtually in rounds as much as you can , this will really help !(Div2 of course)

2) upsolve these rounds until problem C or D or even E(depends on their difficulty )

3) solve problems +200 rating until you find them become not hard and don't take a lot of time , then add a 100 and so on

Anyway , each person has his own training strategy

Good luck!