I hope you enjoyed the 15 days workshop. This is just the starting of this new and exciting field of problem solving. You are going to learn many things on the way. You will learn things that will actually amuse you and soon you would start solving problems that are so interesting and difficult(which you will not feel) that people don’t think about them in daily life. I am sure most of you are up for it. In this blog I am going to tell you certain resources that would help you along the way. Our plan is to post lots of useful resources in this discuss forum. You can ask your doubts. In case you are unable to solve a problem we may give you a hint but as we already said in class we won’t reveal you the entire solution. Please feel free to use this to discuss anything you feel.
Now that you already know what is an online judge and what was our goal to start problem solving I feel that you must be knowing the Indian Computing Olympiad Site. The link is link: www.iarcs.org.in . Go and visit the site. Feel free to experiment with it. This is the official website of the Indian Computing Olympiad. Everything starting from start of registration to the results, past problems of ZCO, ZIO and INOI are available there. Also have a look at the following link to know what does ZIO, ZCO and INOI mean and to know more about IOI: https://www.codechef.com/ioi.
Remember to clear the Zonal and the Nationals it takes a lot of hard work. You have to practice for hours. Stay stuck with the solution for hours. Try hard not to take even the the smallest hint. After trying if you are still unable to make any progress then you can post your doubt here.
Some tips and advice. International Olympiad in Informatics is an olympiad that focuses on algorithmic problem solving. This means that you not only need to logically convert your thoughts into code but also learn algorithms discovered by famous people to solve a problem efficiently. One of the algorithms we learnt in the workshop was binary search, a very useful algorithm in Competitive Programming. There are problems require you to observe very carefully how binary search can be used to solve it. This is only of the many you have to learn. So my suggestions are as follows:
*Whenever you are learning some algorithms make sure you learn from several resources. Some of the resources we will be sharing here. You can also share something you found helpful.
*Always try thinking it in the form of a real life problem. There will always be some real life analogy that explains the algorithm. This will help you to consolidate your understanding.
*There will always be some form of visualization of all algorithms. Do search for these visualizations.
*After learning the algorithms do try and implement it and solve problems based on that algorithm.
Before signing off I would like to first post some resources on binary search:
The last link is a link to a section of a blog. I would ask you not to experiment with anything other than reading only the post I gave you the link to as you may get confused. Use these resources to learn binary search thoroughly. In the next blog I will be posting some problems on binary search and tell you the need of efficient algorithms.