In the recent div 2 contest, I finally became expert, and since a lot of people ask how to improve, I decided to share my own experience of competitive programming. It all started 1 and a half years ago, when I decided to go to the programming club of my school. Of course, it all started by a very tough problem (given a, b. Print a + b), but I managed to pull it off. And after solving a bunch of classic and simple problems like that, it was a big improvement, of course, considering that I knew nothing. But at some point, I started noting that I'm not really improving anymore (it was around the time when I started codeforces and didn't reach pupil yet). That's when I realized that it's great to have someone teaching you, but you need to work alone to keep improving.
I started solving codeforces problems more (Let's all take a minute of silence for my 1st amazing submission — 128902691). It all went pretty smooth until I reached pupil. I started learning more advanced algorithms such as binary search, prefix-sum, dfs, bfs, and a bit of dp. Even after that, I still didn't manage to become a specialist, and the way I became specialist was by starting to do more paper work and believe in myself. Most of the time, I'd say C is definitely hard for me and not even take half of the time in the contest.
Specialist was where I've been stuck for many months. I started learning segment tree, solving a bunch of high rated Segment tree problems on codeforces. I also learned 2d prefix sum, improved my dp knowledge, and of course solved many problems in these topics. I felt massive improvement in olympiads after doing those stuff, but I was really annoyed that I wasn't improving on codeforces. I decided to not give up and started solving div 2 D problems. I was rarely solving it during a contest, but many times I was managing to upsolve the div 2 D on my own (Don't be afraid of looking at the editorial, if you're not able to solve it). A final touch was giving some virtual contests and upsolving them. After that, I slowly started to increase from low 1400 to low 1600.
At the end of the day, I encourage you to follow the advice of smarter people, and I'll probably become specialist again in the next contest. :)