GustavoLopesOliveira's blog

By GustavoLopesOliveira, history, 19 months ago, In English

Hello, I am Gustavo from Brazil.

I would like some tips to help me improve. Currently, I can solve problems rated around 800 in Div. 4. I can solve problems A, B, and C in Div. 4 contests, but no more than that. In Div. 3, I can sometimes solve problem A, but I don’t know what to study to improve.

I’m in my first year of Computer Science and about to start my second semester. So far, I’ve only had one introductory algorithms course at university. I’ve learned about stacks, queues, sets, multisets, vectors, pairs, and algorithms like sort, upper_bound, and lower_bound. At the beginning of this year, I’ll also learn about trees.

I’ve attached an image of my solved problems. Most of them are rated 800, and I’ve solved 86 of them so far.

What should I do to get better? Any advice is welcome!

| Write comment?
»
19 months ago, hide # |
Rev. 2  
Vote: I like it +5 Vote: I do not like it

.

»
19 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I strongly suggest you use CP4 books and kattis to start your journey, rather than codeforces. The books not only teach you relevant topics for competitive programming it also has sections with questions. Each section has 2/3 starred questions (which is like most relevant questions for that topic). I have done all starred questions from chapter 1 to 7 (and like half in chapter 8 when I got tired of doing the book and migrated to codeforces. Mind you the book has 9 chapters). I think the book is a great source to learn the fundamentals. Also, codeforces questions are usually more creative, so I think it is hard to progress by just doing them, as at times you won't know whether you lack skill or just need some observations to solve a problem. This is what have worked for me.

»
19 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I would suggest trying to do harder problem for 30~60 minutes (even harder question may require longer time),

if you really can't do it, then read the editorial (or tutorial/answer).

»
19 months ago, hide # |
 
Vote: I like it +5 Vote: I do not like it
  1. Go to cses problem set.
  2. Try to solve.
  3. If can't learn the topic first form CPH book or somewhere else.
  4. Solve some easy problem on leetcode/hackerrank on that topic
  5. Go back to cses, try to solve, spend at least half and hour.
  6. if can't, read the editorial.
  7. try to solve
  8. if can't view the solution at a glance
  9. Now to try to solve again after seeing solution
  10. if can't break down the solution and practice few times
  11. Go to next question
  12. Repeat the cycle
»
19 months ago, hide # |
Rev. 2  
Vote: I like it 0 Vote: I do not like it

I'd go on timus, and just start solving the problem set, I'm pretty sure that with the first 100 problems of timus you would improve way more than just doing another 100 problems rated 800.

I think in general you need to pick better problems. 80 800rated problems are way too many problems.

»
19 months ago, hide # |
Rev. 3  
Vote: I like it 0 Vote: I do not like it

If your basics are not strong then learn some basic algo-DSA-STL then try again.