Need help, new in coding

Hi,

I have just created a account in code chef and I was exploring the practise section, were I selected the easy section started reading the question and I understood it but when I saw the code of other people who have already submitted the code and which were right, I did not know understand many stuff, so can anyone say me from where should I start.

Hey @akshath123, please check getting Started Page : http://www.codechef.com/getting-started it’ll help you.

same here bro.I understood some of it.I think this site is for users who already know this stuff and not for people like us who want to learn doing it.Tell us anyone.help needed!!!

1 Like

The solutions you see on the right side of problem statement are the most efficient ones and use more complicated stuff (Which I dont think a beginner must know). Sort the problems based on the most successful submissions on the easy page and try from the first problem (You can do this by clicking “Successful Submission”). Try to solve the problem yourself. When you are done (Mostly you will be) try reading the code of others and guess what they are actually doing. If you dont understand any, post them here!

1 Like

@akshath
Check this link…
it might help.

Hey,

I’m Considering you a Newbie who wants to learn programming,

So here it is,

Learn a Programming Language

Getting Started with CodeChef

Go to Practice, start with easiest problems so sort problems by “Successful Submissions”
and start solving it. Start with these problems TEST, INTEST, TSORT, FCTRL2, and ATM.
Use CodeChef IDE for writing the code.

After Solving 40-50 Problems you need knowledge of Algorithms.

Learning Data Structure and Algorithms

So, There is a book “Introduction to Algorithms” and “The Algorithm Design Manual”
Here are the steps to start with Introduction to Algorithms (CLRS)
Well, you should read this book from Start to end (From Basics to Masters).

Here are my suggestion on How to read this Book.
Reading and Understanding CLRS:

  1. Use video lectures to understand the concept, and read the chapter from the book.

Best site for CLRS lecture videos :

Peteris Krumins has published a series of blog posts covering the lectures. You can also find his lecture notes for each video. Start with this one: http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-one/

What if you’re not understanding Mathematical equations and Proofs, functions given in the Book?

Participate in Contest

  • Long Contest, it’s a 10 day long Contest, 10 problems participate, if you are unable to solve any problem read editorial after the contest ends and upsolve it again.

  • Short Contest of 2.5 Hours, Participate in this contest will improve your speed and Problem solving Skills.

Lastly Practice…Participate…read editorials…read others solution…Learn Tricks…again Practice…this is ONLY MANTRA!

I want to mention few websites for you…and it shall guide you :smiley:

articles, blogs, free pdfs, Algorithm implementations etc. You can also contribute to it! Fork it in your projects…I’ll keep on adding there.

I hope everything is clear, if you have any doubt please comment below.

Thank You!

4 Likes

Thank you very much,

I tried the internet archive(Discrete mathematics and its application) thing but it is showing some error can you help me out with it and how to sort the programs i mean know what to select and the reference page is going to a site but i could not find the answers for the exercise’s.

Should i read Discrete mathematics parallel to Introduction to algorithms?

@akshath123 .Welcome to codechef . It is feild for programmers

you can start your practice given link :-

  1. SPOJ
  2. Top Coder
  3. Codechef

you and see some editorial of code chef given link below:-

Here

1 Like

@akshath123 .Welcome to codechef . It is feild for programmers

you can start your practice given link :-


TopCoder.com

you and see some editorial of code chef given link below:-

The solution provided on the right side of the page as the best solution use many unnecessary optimizations such as faster input output methods which is not necessary if your solutions works fine
with in the time limit.Look at the solutions of some good coders in the rank list.
you can also read http://sportprogramming.blogspot.in/2014/07/getting-started-with-sport-of.html
which explains in detail about how to get started with competitive programming.

If you are new to competitive programming, I would recommend you to try out the website mycodeschool.com

Mycodeschool.com has lots of practice problems and each problem also has a video solution which shows how you can solve and approach the problem in an optimal way.

@sb_2015 @akshath123 CodeChef is for every user that knows how to operate a computer and can write a simple “Hello World” console program. :slight_smile:

Learn the beauty of Coding. Dont take coding as a compulsion, take it as you are enjoying things.

I will tell you my case:

I discovered the world of competitive programming when I was in my 12th standard! Pretty Late uh! In my city and school, there was no craze for these things. In my syllabus was simple Bubble Sorting, and linear searching, reversing, finding palindromes, etc etc, all that you don’t need here. :slight_smile:

I started solving the Life, the Universe, and Everything and I got NZEC error. I was only familiar with the Complie Error that a compiler displays. Lol :stuck_out_tongue:

After some days I again solved that problem, and then I got to know that I simply had to check the number “42” and end the program else display the number inputted.

I then started enjoying Coding here. I filled up the ZCO form ( compulsory for IOI ) and qualified it easily, as at that time practise made me that much capable as I had seen many such problems and wqas familiar with the type of solutions. I was qualified for the Indian National Olympiad of Informatics and I qualified that too! In the training camp! I understood the concepts but as I was a Newbie and was not familiar with Graph Theory at All and tuffer DP Problems, I was not selected for the Indian Team at IOI.

I was pretty sad, because it was my last turn for IOI as I came to know it after Pretty Long 9th, 10th, 11th stardard.

I again started practising, and now I am doing my first year BTech only to Qualify for the ACM ICPC World Finals I know my Journey seemed to be quite weird, but this is the way I learnt coding and programming!

I am not a Pro like, Tourist, ACRush, uwi, and all my other friends, but I am learning today too!

There is no age of learning! Practise, Learn! Practise! Repeat! that is the only Mantra!

Happy Coding!

For beginners,

Before doing any practice on Online sites, make sure that you are clear on basics on arrays, pointers, matrices, input/output handling (fast and slow), sorting, searching, stacks, loops, basic recursion and bit-wise tricks in the language of your choice. If you are unable to decide any beginning language, then I would prefer you take up C++ as your starting language as it is easy, compact, fast and there is the “STANDARD TEMPLATE LIBRARIES” which is of great use.

First practice the “Easy” problems on Codechef site sorted descending by the number of users who successfully solved it. After practicing about 100 questions or so, you will build confidence.

Now, you can also switch over to Spoj. In Spoj, i recommend you to first submit answer to the questions that you solved on Codechef. Then, using the problemclassifier.appspot.com site, find maths and adhoc questions on Spoj and start solving them. Do consult google for maths help. Solving maths and adhoc questions on Spoj opens up your mind and it is very useful during the contests on Codechef. Everytime, there is atleast one questions related to mathematics in the contests and the wide range of mathematics questions you solve on Spoj comes in handy. Also, regarding the Mathematical problems some important concepts are Sieve of Eranthoses, Euler Totient function, basics of combinatorics, Catalan and Stirling numbers, probability concepts and basics of geometry, basic number theory(as available on Codechef tutorial site- codechef.com/wiki/tutorials).

Now it is time to learn some algorithms and data structures you need in competitive programming. A good list of the same is available on http://discuss.codechef.com/questions/48877/data-structures-and-algorithms. Start implementing these in questions of “MEDIUM” level and “EASY” level (with less than about 500 submissions).
Also now solve related questions on Spoj too. (problemclassifier.appspot.com can come in handy while classifying the problems related to the algorithms and data structures learnt by you). After solving some questions, you will definitely gain confidence and see improvement in your coding skills. Don’t get disheartened too easily. Sometime, some concepts take time. Practice those more frequently and get a firm grasp on those.

After coming this far, set targets for yourself on every contests on Codechef. Regularly participate in them. Discuss with friends and others on the forum.

Happy coding :slight_smile:

1 Like