Help needed for INOI 2017.

I am in class 8 and I gave ZIO this year and I am getting a score 55-60 so I’ll probably qualify.
But I want to ask that how to prepare for INOI.

I currently know Python, Javascript, HTML and CSS and just started to learn C++ for INOI.
I have done about 150-160 problems on codechef using python.
I know topics like binary search, merge sort, selection sort, insertion sort and a bit of dp.
I am learning c++ completely from youtube.
I am learning data structures and algorithms from places like khan academy, youtube, iarcs, commomlounge etc.
I tried to do some online courses but I can’t do a course for more than 1 day. I just don’t understand it.
I also don’t quite understand from books.

Now, so from where should I learn and prepare.

1 Like

So yes you are going great as of a student of class 8. 55-60 would surely make you qualify.
Now since you are preparing for INOI and you still have one and a half month to go i would recommend you to watch out these two courses by madhavan mukund : DAA and DAA in Python.I tend to recommend these two courses almost to everyone as firstly they are really great and brief secondly he is the chair of organizing committee of ZCO and INOI .Now since you know python it will be great to practice in python only initially. (just make sure if it is allowed in INOI and IOI).As learning initial concepts and algos. is the critical part these would take you around 10-15 days.Yes you might at some point need c++ but it is not very often. But learning algos and techniques should be primary goal as of now. After you are familiar with algorithms try and solve all the problems on IARCS judge(they are just 44).And you are good to go. Now about the part of learning c++, you can do this while solving questions you will have around a month to code so learning a language is not a real big issue you can learn basic syntax in 5-6 days and after that all you have to do is google for specific queries as you know the algorithm. Moreover c++ is used mostly because of STL and STL docs are provided in almost all the contests.
Cheers and all the best :slight_smile:
PS: at some point all need to learn a second language. I coded in c++(i still do most of the times) but recently i felt a need and learned python. Though i am still feel more comfortable with c++. but learning it wasn’t difficult at all. Python codes really save crucial time and like if you have to handle very big numbers in c++ it is really a headache and in python its mere a few lines of code.

1 Like

There’s not much to learn in syntax neither is much of the STL required for INOI except a few methods in algorithm like upper_bound, lower_bound and sort. You should straight away start implementing algorithms after you’ve got the basic syntax.

I do not know the best way to prepare for INOI , as it is my first time too, but I am also in a similar situation as you.I am in class 9, I know JAVA extremely well(I also have a certification in it by Oracle) and have to move to c++ as Java support in ZCO and INOI is limited. What I saw from the previous year INOI questions was that DP and graphs were by far the most popular.So what I am doing is that reading all the standard algorithms and semi-memorizing them ( I already know how they work).Now, according to me , the best site is geeksforgeeks .I would also recommend you to check out those tutorials. As for C++ STL, I am learning it mainly by looking at the code of other people of problems that I have already solved in Java and so know what the required algorithms and data structures are. Along with that the topcoder tutorials on C++ STL are also awesome.

I am already doing those 2 courses and python is not allowed in inoi that’s why i am learning cpp. Thanks by the way.

alright so you should shift those 5-6 days of learning c++ earlier. This might be due to the fact that there are issues regarding making python as a second class language at IOI

Since you dont have much time and are just starting on C++, I would recommend focusing mainly on basics of C++, pointers, memory management and mainly STL. Don’t go much into OOP (classes, etc) and other advanced stuff, you’ll only need a struct at most for INOI. Focus more on solving problems.


Actually, I’m pretty sure that pointers are not required for INOI.
The most important thing is C++ STL, and you should master that. It might be a nice idea to solve some Codeforces Div 1 A problems and a few easier Div 1 Bs as well. You can learn about neat and efficient ways to implement things in C++ just by looking at others codes and comparing it to your own accepted solution.


Thanks @animesh_f but I think Div 1 problems are just too high for my level. Currently I am able to solve 2-3 Div 2 problems that too in virtual contest.

Div 2C is the same as Div 1A, and 2D is the same as 1B.

@animesh_f @sampritipanda Btw, to prepare for INOI, in case we have solved the past INOI questions before (implemented and got accepted), do you suggest trying them out again?

No, it won’t help much. Try solving a lot of DP/graph problems from different sources (Timus, CF). That will help you a lot.


I have done the ZCO problems in python. Do you recommend that doing in c++.

Yeah I guess, since you’re learning C++ from scratch.

Thanks @sampritipanda , as of contests? Codeforces rounds and Codechef Lunchtimes?

at least i would recommend doing more problems rather than repeating. Yes you may just solve one or two to gain comfort. After all once you know the concept its only syntax what it can offer you by doing it again. You can learn it anyway by coding new problems. And regarding structures you may learn them but things tend work out without them especially if you are good with STL

@sandy999, do both :slight_smile: