Its been 7 months since ive started learning c++ and doing cp and ive seen no progress at all.its not lack of practice.ive been solving so many problems on my main everyday.
the reason i asked about this problem is that today i encounter a problem that requires heavy implementation.at first glance,i thought,"okay,this will be a good form of practice".after several minutes thinking,i am still unable to do the problem.it took me 5 minutes or less to came up with an idea but hours or even days to think the syntax that im going to use.sometimes,there is some technique i dont know therefore i see others code and analyze.
after i analyze the code,i understand the trick.after that i do another problem.and then i cant think of the implementation again.this process continues in 7 months.i dont know if ive improved or not but u can say that im stuck on 900 rating which is absolutely terrible.
the reason i made this blog is to warn newbies that seems to stuck at a rating.i need to tell u that most advices like solving problem or doing virtual or ladders etc,will not make u improve.its useless.this is based on my observation and my own experience.
the reason i say this is because ur training is not relevant for other problems.so if u feel down or sad,get up,close your computer,and do something else that is actually useful instead of doing trash stuff.
If you're not able to easily solve it, then it's not easy for you. That's the only thing that matters. When you do learn how to solve the problem, you've grown. Comparing yourself to others in a negative way is completely useless, because you're always going to find someone better than you.
Sounds like you need a break. Get some rest, remember why you do this, and then come back (if the reason still stands). Good luck
According to your profile analytics, you didn't solve enough problems. How do you know this is trash stuff? You just solved 3 Div-2 A and 1 div-1 F. I suggest you use problemset filter and do 800 difficulty tasks. Hope, you will improve day by day not in a instant moment.
do u think this is my main?
I thought you practiced through this profile. Sorry for that.
This isn't your main? Now I'm genuinely confused now.
First, we don't know your main account so we don't really know your actual skill. Seeing your submissions in your alt and ACing problems more of your rating, we don't really know. What's the point of asking for advice on your progress when you aren't even sharing it (at least not in direct statistical data)?
Second, Assuming you are indeed a newbie, why would you copy a solution to a 3500 rated problem? What would you get if you just copy and paste a code without even understanding the meaning of the code? Your submissions in your alt consist of various coding styles which in my opinion is a little bit weird.
I think your issue with reading other's code and doing too many problems above your rating is why you aren't improving. I suggest reading editorials and explanations instead if you are stuck, since typing everything from scratch without any guide will create more of a habit and practice than just copying and changing variables. Well, at least that's speaking from experience.
You might also be burnt out. Drilling problems is good, but excessive drilling will burn out your brain. Excessive drilling makes competitive programming more like a history class where you remember every algorithm instead of a math class that requires more logical thinking behind the solution.
Now this arises a new question, why are you drilling problems? What is the purpose? If you don't enjoy competitive programming, don't force it. Nobody is forced to go through this so-you-claimed "trash stuff". The answer is left back to you.
today i solved sorting problem because i remember similar problem's syntax.with logic alone i cant do it.so i think remembering syntax is good
Again, my advice is to create your own coding style (or syntax if you prefer to use that term), as not only it will stick into your memory more, but also be consistent with other parts of the code to make your code easy to read (which may be another reason why you need hours to debug a simple problem).
Not forcing tho, you can do you.
actually,i dont make the method.its others code.i just edit his code to suit the problem.so the sorting problem is purely his code but because i understand,i am able to do it.but if i need to do it from scratch,thats a big no from me.thats what i do everyday every hour
well, you have to try :)
of course if you want to improve that is
I don't know if I enjoy cp much. I enjoy improving through practice. If I see improvement in contest, it gives me pleasure. It is like an addiction to me, "improvement addiction". But I not only just want to enjoy the result, but also want to enjoy the process and practice hour.
Your rating graph inspired me. You improved through struggle, which is rare nowadays in cp community. So, if you have any advice or suggestion for me, I will be very grateful.
At least you're enjoying something
My graph is a result of burning out tbh, consistently joining every contest isn't really that good, especially when these contests happen late in the night in my timezone.
My advice would be the same as my comment above.
Nowadays, I am trying to solve problems, for which doesn't need any specific or heavy algorithm. I decided not to focus on algorithms till reaching expert. is it okay?
Should be good, problems below 1200 rating probably only require sorting and basic greedy (dynamic programming and binary search may appear occasionally). At least again that's what I see.
Mainly focus on the ad-hoc logic, since it's used in (almost) all problems.
I think it isn't right to discourage others only because you feel like you're not improving. It is true that an idea or implementation of a problem might not be directly useful to another problem, but I feel like the point of solving problems and even Competitive Programming as a whole is to sharpen your problem thinking skills to think systematically. This is an essential skill especially as a programmer. As for my advice, maybe try understanding implementations of code and re-typing it without looking at any references. Also, you can try pure implementation problems, if you really think that's what you're lacking. Finally, don't try to compare yourself to others. Everyone is different and some can improve faster than others. Just focus on improving your skills, and also do not be bothered too much about the rating. I like to think of it this way: If I didn't solve a problem that I've tried in a contest, it means I can up solve and learn something new.
everytime i solve a problem beyond my comfort zone,i will be sick because my energy has been wasted.so i can only do max 2 hard problems a day and that seems to be slow.also sometimes i get stuck and see others code and learn something but i feel like i dont learn anything
Don't worry about the quantity. To be honest, I also rarely do more than 2 hard problems a day. And yes IMO you can see other code as long as at the end of the day you understand what every part of the code is doing.
Would you like to explain your practice format? How do you practice? I would love to help
so r u going to help?
Firstly, (since this is your alt account) what is your rank on codeforces? (pupil, newbie, specialist etc.) If you are a newbie, I'd suggest solving from 1000-1300 problems. I solve about 3 problems a day. (same as you) 1400 and up may be too difficult.
I'm thinking of making a video about my thoughts on how to practice and then adding it to my blog. I'll do it in 3 hours, because I have to do personal business then