kuroko's blog

By kuroko, 9 years ago, In English

I am having a tough time in finding a way to practice . I know only the basic algorithms so i am thinking if i should learn some of the famous algorithms and practice problems related to that from ahmed-aly website or do random problems from oj. I am asking this because when i try to solve a problem i would spend some time on it then come to know that it required algorithm which i don't know and this pattern continues for most of the problems.But in some forums they say solving by topic is a bad way of practice.So i am hopeless here.

What strategy do u use for practicing ?

PS: I am a beginner who can solve A and B problems in cf contest and some times C.

  • Vote: I like it
  • +8
  • Vote: I do not like it

»
9 years ago, # |
  Vote: I like it +25 Vote: I do not like it

Do a lot of easy problems. Try to solve each one as fast as you can (as during a contest). After getting AC or being stack with it — read editorial. If you had problems with implementation — look at other people's codes. Sometimes do problems a bit above your skill (C or easy D).

In my opinion very bad decision is to set one time limit of thinking about a solution. Instead of reading editorial after exactly 20 minutes of solving it's better to do it after e.g. 5-10 minutes of not having new ideas.

After reading about new algo/structure try to understand it. If it's not hard then try to understand all proofs there (like: why is it ?). Then find a couple of problems about this theorem/algo/whatever and solve them. You've done this part right if later during solving random problems you can see if it is solvable with that algo. And if you can implement it then.

Try to find a mate with similar skills. Compete with him. Also in practicing.

»
9 years ago, # |
  Vote: I like it +2 Vote: I do not like it

I am not the best person for suggestion, but I'll write something :)

Competitions make you batter, better and better ! Today we have a lot of programming sites. I love most codeforces , but topcoder , hackerearth , codechef have a lot of good competitions with different level. After contest you should see editorial, and ask if something not clear.The point is clarify that... The solving by topic is bad way , because you already know solution (for example you know in that problem we use bfs...) and you don't think about other ideas.

Now you can't solve many C problems, start with easier... You don't know soultion, you should read editorial , you don't know something in editorial (some structures,or algorithm,or idea ) ,search in cf blogs about that or search on internet.Than if you don't understand again, you write new blog with question...

Also It's pretty easy if you have frined with similar level of knowledge to practice with you ( my friends helped me a lot).