International Olympiad in Informatics (IOI): What algorithms should I study for INOI?
-
INOI stands for Indian National Olympiad of Informatics. It's one of the rounds for selection of Indian IOI team. I want to know what topics of algorithms I need to know to solve INOI problems. For example I have heard that something named Network Flows doesn't come in IOI and INOI. Any other topics which don't come or come? I wish to study all the algorithms but lack of time won't allow me, thus I want to study those that come. Also, I have heard that there are few C++ techniques that eliminates the need of writing complete algorithms eg- not writing a code for sorting and directly using some predefined code in C++ that we can use. Can we use such things in INOI? Where can I learn to use such things? I know C++ and implementation and I can solve few codeforces problems which doesn't require algorithms or some simple DP.
-
Answer:
Back in my time, I can tell you that logic with no knowledge of standard algorithms will be enough to clear you. I did INOI with coding up a buggy quicksort (the bug was with large input sets) and writing a recursion without DP (which would TLE for inputs having n>25 for sure). Not that much has changed since then if you ask me. Which brings me to the next point: The best way you have to clear the INOI is by writing correct code. Don't forget the above. Finally, it's definitely a good thing to learn early on, so that you start getting comfortable with implementations and algorithms. The material in is a good place. I will particularly recommend Topcoder's http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=standardTemplateLibrary for the STL. That, and practice on Topcoder, Codeforces, and Codechef to keep yourself in shape.
Pradeep George Mathias at Quora Visit the source
Other answers
The following is the official syllabus for IOI : http://people.ksp.sk/~misof/ioi-syllabus/ioi-syllabus.pdf Good quality study material by organizers of INOI : http://www.iarcs.org.in/inoi/online-study-material/ And regarding implementing things in C++, the "C++ techniques" you are referring to is the C++ standard template library. And it is completely legal to use them. To figure out how to use those libraries, jut try Googling "<data structure name> C++ STL" and you should get good results. For example, "heap C++ STL" or "set C++ STL". Although, I think implementing each algorithm once will really improve your understanding of the same. And I doubt you can use the STL strategy for many problems. Hope that helps. Happy coding :)
Keshav Dhandhania
The most important algorithms for INOI , if frequency of occurrence in INOI is considered, are graph algorithms and the similarly the most important problem solving strategy is DP. If you have less time, you should focus on these two specially as at least one question from these two is definitely asked. Even if you solve one question completely, chances are you'll get selected. This year, I solved one problem completely which required deriving a recursive formula and implementing a DP and the other one partially, which involved implementing a modified Kadane's algorithm(I didn't knew this at the time of exam). A good resource for practising is USACO Training pages. PS: Don't consider me an expert. I'm just another naive coder.
Divyansh Shukla
Related Q & A:
- What can I study that I can work on the university campus as well?Best solution by Quora
- What country should I study abroad in?Best solution by Yahoo! Answers
- What privileges will i get if i study engineering in France?Best solution by Yahoo! Answers
- How can I avoid getting tired while I study?Best solution by Yahoo! Answers
- What should I study if I want to be a flight attendant?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.