In every div2 contest it takes me more than 30 min to solve problem A and avg 15 min for problem B and 30 min for problem C. Due to that I am not able to attempt problem D as well as problem B and C gets submitted very late and my rank reduces significantly. I tried to analyse why it is happening and I came to a conclusion that problems other than A are based on ds, algo and A is based on logic and has too many edge cases. So how can I improve on that? Means which tags problem should I practice for that.
I tried to give atcoder contest as suggested by E869120 in his blog, but the question in atcoder are not like A. Should I play more puzzle games to improve on that. Any suggestion would be helpful.
Please also suggest the tags for the question which I should practice.
I apologize for my bad english.
Thanks in advance
Honestly man, my ranking in this website may not be the best, but I can say that coding speed and how fast you are able to detect these edge cases will help a lot. That comes with experience (aka solving more problems). I would recommend keep on practicing div 2 B,C (even D, although you might rarely solve this one during contests, I recommend more D problems once you reach 1400-1500) and solving A faster during the rounds will come naturally.
Due to practice only I am able to solve B and C quickly but I am not able to solve A quickly. Please suggest the tags for the problem that I should practice. I do lot of question rated higher than my rating. I solve questions upto rating 2000 and so that includes D as well.
Most of the Div 2 — A problems are easy math or implementation questions.
Due to practice only I am able to solve B and C quickly
In case this is correct ; if I were you ; I would not even bother to fasten my time of solving div2A.
Reason is pretty simple and straight forward ; lets say ; instead of solving div2A in 4 minutes ; you do solve it in the 40th minute. So ; in a typical div2 round ; where problem A has 500 points ( And per minute you loose I think 2 points ) ; you would loose (40-4)*2 points right. That is 72 points only.
Meanwhile ; think what if you solved D in the contest itself ? Well ; that would easily fetch you a lot more than 72 points ( Depends on the scoring distribution of the round ; that how many points does div2D fetch you ; but you can easily estimate it around 1000 points. )
1000 points ? That will definately fetch you much-much higher ranks right ?
And you already say that you solve div2 B and C fast enough ! So go for div2D
Meanwhile ; while you will be practicing for div2D ; you will get used to finding much more edge cases ; corner cases ; etc. ( Because div2D will require you to do so ).
And div2 A are only about those annoying edge cases or corner cases right ?
So ; once ; after solving a bunch of div2D in the practice itself ; you will notice that you will get better on those div2A's too !
Do this for a while ; and trust me ; this will work ! All the best !
Thanks. I would be practicing more hard for D from now on. But for improving my rating should I start attempting question from B instead of A because due to A I do not even get time to see question D in the contest.
You may try doing so ; I mean ; worst to worst ; you will fail with the new strategy right ? Whats the problem in failing anyways ? At the end ; you yourself would know what best suits you :)
you yourself would know what best suits you
And since the above written statement would be true ; so that will not be a total failure !
generally if A isn't a literal brute force, then there's some really easy optimization you can do. don't overthink it, literally just try and solve it AS THE PROBLEM STATES, 50% of the time its straight implementation and the other 50% there's some really easy optimization you can pull off. there are some exceptions true but most A's are like that
Follow-up question: sometimes for div 2A I am not sure if my solution is correct. But since many people solve div2A within a few minutes, I feel like the fist intuition must be correct. Should I go on and implement my intuition or should I wait till I have found proof of correctness of my solution?
if you're not sure and you have no other really strong ideas about how u might be wrong submit it
Most of the times A is pretty straight forward, but sometimes it's a bit tricky. You should always try to identify the twist in the problem. Sometimes we have to follow our instincts also to solve a problem. You should pickup all the A and B questions starting from div-2 500. After that you will notice that there are some fixed varities of question asked in A div-2.
Honestly, this is not something you should be aiming for. You should focus on being able to solve C or above during the contest. Any time penalty you incur by solving A late will be compensated by solving by C or above. Not to mention, as you practice harder and harder questions, you will easily solve these A's quickly.
I think a better goal is how to solve more problems during a contest. If you are able to solve harder problems, then you will probably pick up speed with the easier ones.
You just only need to solve more problems so that you acquire a good speed and hence the logic will strike faster.