Hello, this is just me venting about stuff that's been bothering me while I'm learning competitive programming. Don't worry, the problem is not about cf itself or the community.
So, recently I've been trying to solve more problems in here (as well as some other competitive programming platform) since I need to prepare for my country's National OI. Sometimes, I will stumble upon a problem where I can solve it, sometimes I can't. But for the one that I initially can't solve (or already tried), I've been thinking about many different ways to approach it. Is it DP? Is it binary search? Is it some weird-to-implement data structure? Is it something that I've tried but it needs a different perspective? Well, ofc in the end I can't solve it so I looked at the editorial for that problem. I usually try to read the hint first, but most of the times I already know the hints. It's just that I don't know how to connect the hints to the problem (or approach it in a different way). So after all of the things I can think of, I finally looked at the tutorial.
So, I read through the editorial and I (most of the time) understand what it said. After that, it clicked in my head that "Oh, why didn't I think of this?" or "Oh, that's actually very interesting and clever". And so I implement it and, AC. I feel happy that it finally works. But sometimes, I didn't feel anything or sometimes even the opposite.
For some problems after reading the editorial, I thought to myself "Welp, I looked at the editorial and that's the solution. It's a similar idea but didn't think about that approach apparently" and then feel guilty about it because it's just the same theory that I knew, but never clicked in my head before reading the editorial. And then, after solving it, I didn't feel like I learned anything from that. I only feel like I just write a code with the idea coming from the editorial, and not me. Just another theory that I've learned but never pass through my head when thinking about it. And sometimes it's even worse because the problem looks so specific that I don't know if the approach for this problem is usable in some way to solve other problems
Am I not improving because I sometimes looked at editorials and just, implement the solution with the similar (or even the same) idea as the editorial? Sorry about the long vent, I just want to get this out so that I can feel a bit better.
tl;dr I sometimes looked at editorial but I feel like not learning anything from it. Is it because I'm not improving? (yes i know this question is like very common but i just want to vent about it ok?)
P.S. Sorry for the bad wording or the bad english that I'm using, since I'm not a native speaker. Also if you're confused on what you're reading, just don't try to understand it. I don't want to ruin someone's day :].
A suggestion from your friendly neighborhood specialist: if you feel like you've wasted a problem after reading the editorial — try to come up with more problems similar to one you've just solved. For example, think about more specific/general case, tighter constraints, change a part of a condition, etc. So far I've seen that all the high-rated people emphasize the importance of "solving more problems", but they rarely mention the importance of the work that you have to do after you solve each problem (especially if it was the one that you've struggled the most with or couldn't solve during a contest).
An analogy: eventually you are going to get better at chess if you are going to just "keep playing" and "solving chess compositions", but it's also the analysis that you do after each game that is equally important.
You can look at my graph to have some motivation;)
very similar to my graph :)
Nah, your graph is impressive (I mean shows relatively quicker and stable growth).
no, your graph is more impressive
You can try just take a break
if you try, and arent able to solve some problem, that doesn't mean the problem was wasted.
Now,i write all recursions using stack and loop , Am i psychopath?
yes
I was thinking the same idea when I was practicing during my vacation period. It's hard to understand that we cannot be GM in a year only, but a friend gave me a point of view that changed my way of training. We're always thinking about the prize: Winning a local tournament, getting into a national or regional, or even an international; but sometimes, the only way to improve your skills is to enjoy the progress and the problems.
Watching your profile I noticed that you have something that others do not, constancy. If you reached your expert rank in only 8th months in this account, you can do whatever you want. Learn more about your approaches when the jury gives you AC, think about the path you take to be in this position, and if this doesn't work look at it in another point of view.
Don't stop learning and let the time puts you where you deserve to be. One day I wanna be like you, keep training, and don't give up <3
Sometimes I feel like this too. I think that trying to think about "Why is this the solution? How can I get it? Can I think of it next time?" is truly important. While you're solving more problems, thinking more and reviewing more, you are learning and improving. Maybe this should be a long progress. Just go ahead. ;-)
It might not be one-size fits-all solution. But here's my two cents :
If you find problem with difficulty $$$X$$$ is hard, try difficulty $$$X-100$$$. But if you find it comfortable, try difficulty $$$X+100$$$
By doing this, you might find what problem difficulty is "convenient" for you, and what problem difficulty is "difficult" for you. Try to get used with problem that is easier for you first, then when you want to improve, pick some problems that are slightly difficult from your skills.
Some harder problem might need some time to solve (1-2 hrs, or maybe even few days). So my suggestion is pick 3 problems a day so when you got stucked in a day, you can try to think the other ones.
Try various method of practices
In the context for preparing yourself for your national OI, practicing in CF style problems is one thing, but try to solve a different style of problems (e.g. subtask based problems). In CF, speed is important and crucial. But in OI like problems, maybe your approach must be different. It's (usually) a 5-hour long contest time and the problems are subtask based.
Try to practicing a subtask based problem so you can build your thinking per subtask (a very good website that has plenty of them is oj.uz)
Keep in mind that improvement takes time. And everyone have a different pace For some people gifted with high intelligence, they might be a fast achievers. It's one of the "unfair" advantage in CP world (and possibly in life). Get used to it.
But seeing your progress I would quite proud of what you've achieved. Just keep enjoy the process I suppose
Good luck in your journey
Your graph really looks cool. What I feel is you need to solve at least 500 problems to encounter different types of problems and situations. Solving all kinds of problems at first go isn't a natural instinct for anyone. You need to bother only if you can't solve a problem for which you have seen the editorial in the past. Keep growing .. Good Luck Mate ..
TL;DR should be visible from the first glance and located at the beginning of the article, not in the end and when you actually reached it while reading the whole thing X_X
sorry! i thought tl;dr only located at the end of a text TwT
If u dont feel satisfied after looking at the editorial and understanding it, it means u havent thought enough after reading the editorial. There is always a reason u cant come up with it urself. Maybe u tunnelled too hard into an idea which doesn't work. maybe u missed an important observation. Either way, if u found out why u weren't able to solve the qn, u will learn smthn new :).
One thing i learnt from my icpc teammates is just trying harder. Just forget editorial exists. You won’t ever look at editorial. Try this approach. You are probably copping out way before than you should.
Try solving more problems.
Give up
Same feeling here.
Looks like you are improving now.What changed?
You're new .Improvement is gradual usually.
My English skills are not very good, so this text is being translated through chat GPT.
I've experienced something very similar before, the incident happened when I participated in national training camp (pelatnas) for the first time, after the National Science Olympiad (OSN) in 2021. During the pelatnas, I felt like I was just being a clown and didn't improve at all. In every contest during the pelatnas, I mostly had 0 AC. I always had to look at the editorial to hard problems. So at that time, I thought, "I don't think I can improve anymore. What's the point of doing competitive programming (CP)? I'd better focus on my school." Because I was still in 11th grade then, I was thinking of improving my report card grades, so that it would be easier for me to get into university.
Unfortunately, that was one of the things I regret the most until now. I wasted almost 1 year without doing CP at all. In 2022, I started doing CP again during that year's Pelatnas. And I don't know why, but during that pelatnas, I felt a significant improvement compared to the previous year's pelatnas and managed to qualify for the second round.
So maybe, if you're feeling burnt out and think you can't improve, it's a good idea to take a break (but not too long, or you might end up like me, haha).
also me:
(1): try absorbing one's intelligent mind (by observing how their brains work). You can watch tourist, Errichto, galen_colin,... And look for how do they think,bla bla... Or asking for someone around u that u consider them are GOOD (i have some cul friends and also was taught by some of good teachers) and observing how did they think.
(2): looking for tutorials isnt negative think, it doesnt mean u are dumb. Reading solutions means u are boosting ur intuition, make it become familiar to u -> when u encounter future problems with the same approach, u will come up with ideas faster. Actually, i have seen galen_colin and utuber name Veritasium highlightened the power of intuition (it relates to various fields, one good example is in Chess).
(3): Taking note problems that u find it interesting, enlightening,... (as long as it seems useful for u). For me, i have a super long file about my observations and experiences of these problems which enlightened me.
AS a specalist - In order for an idea to stay in your mind, in my opinion, you should solve questions about that idea one after another and focus on a specific part to be successful :)
Fuck improvement,i will still practice....
The Good Ending:
This guy won gold in the 2023 Indonesian National Olympiad in Informatics.
Learning is not always linear; each insight, even from editorials, contributes to your growth as a problem solver. Keep exploring and experimenting
To the part where you talked about not learning from editorials:
It seems like you're feeling this way because you're tackling problems just to check them off a list, rather than truly enjoying the process. This is a common pitfall, especially if you're focused on competition. Instead, try to solve problems because you're genuinely interested in finding the solution, not just to meet a quota. Take a moment to reflect on why you're doing competitive programming in the first place. For most people, it's because they find it fascinating. Choose problems that genuinely intrigue you and fully understand them before looking at the solution. This way, you can appreciate the elegance of the solution, derive valuable insights from the process, retain the knowledge gained, and apply it to a wider range of problems.
who cares?
thank you for the downvotes