Mannphom's blog

By Mannphom, history, 8 years ago, In English

Hello Friends,

I am new Here. I am in School right now. I had just started Algorithmic Competitive Programming. I Love it. I am spending my time to learn new algorithms so I can solve Hard problems also. but I want to do practice simultaneously. I want to do practice Hard. but I want to stick with only one Competitive Judge to practice. but I am newbie so I don't know which judge had more quality problems.

So Can you please help me to select better judge for practicing. Here is the list of online judges that I know about.

  • Codeforces
  • UVa
  • Codechef
  • Hacker-rank

Or give me some advice if I am going wrong.

Thank You All.

  • Vote: I like it
  • -20
  • Vote: I do not like it

| Write comment?
»
8 years ago, # |
  Vote: I like it +17 Vote: I do not like it

UVA/ UVA live is good for ACM style contests preparation. Problems with most variety and of difficulties of different levels(very easy to very hard).

SPOJ is also excellent for ACM style practice. But almost anyone can upload problem in SPOJ , so it is hard to find effective problems for your practice. For same reason , some problem statements are unclear. Also , some people dislike SPOJ for its slow judge.But SPOJ community is a good community overall.

Topcoder , codeforces, hackerrank,codechef short contests will teach you coding under time pressure. Very essential skill.

codechef,hackerrank long contests will introduce you with very hard,unusual,extreme advanced programming techniques. Some problems may need 300 lines of complex codes to solve it. It will also teach you to write clean code and debug complex codes in that case.

All these platforms has a common disadvantage. There are plenty of problems and it is almost impossible for beginners to find any path there. I mean where to start , where to go ... etc

If you want a very disciplined,guided practice, Lightoj is the second best platform. A 2200+ uva solver, X ICPC world finalist collected some very best problems of his practice career in his oj(lightoj). Almost every problem will teach you something new :)

Among all the sports programming practice/compete platforms, I found USACO most effective. USACO problems will push algorithms and problem solving skill into your vain. Try it, and Try it taking a bit long time . "you won't be disappointed".

Conclusion: Taking part in on-line contests in different OJs is part of your practice but it does not mean the actual practice at all. I will say its only 20% of actual practice to improve your algorithmic skill. Rest 80% consists of 40% upsolving and 40% offline solving. Upsolving(solving problems of online contests IMMEDIATELY after the contest) should be the only reason you take part in online contests. And offline solving helps you to learn new algorithms and new techniques. For online contests and up solving you can go to any OJ that attracts you. For offline solving if you are a beginner then go to lightoj + USACO and if you are a bit advanced then go to UVA/UVALIVE/SPOJ.

(In case you are just a beginner) Two Advice for free: 1)Don't rush. 2)Avoid multitasking(facebook,listening songs) while practising

Best Wishes, Sorry for extreme poor English and even Worse Formatting :(

»
8 years ago, # |
  Vote: I like it +14 Vote: I do not like it