Practicing for the AIO

Welcome! You've come to this page to prepare for the Australian Informatics Olympiad (AIO). At this point, I'm assuming that you have worked through the other tutorials and have solved a few past AIO problems. If not, go back and work on those instead!

The AIO is designed to test your problem solving skills. By far the best way to improve at problem solving is to solve problems yourself. There is no easy shortcut, and reading tutorials without putting in the work yourself is not nearly as effective.

I suggest working on past AIO problems. Each year, AIO problems are roughly sorted in difficulty order, meaning that you start with the earlier problems and work your way up. Don't worry if you can't solve the later problems: these are very hard and designed to challenge even the best students in Australia. You can do very well in the AIO without getting anywhere close to solving all of the problems.

You may notice that modern AIO problems (starting in 2015) have several subtasks, each with different constraints. Subtasks allow you to earn partial points on a problem, and it is very important that you attempt subtasks - especially if you are not sure how to solve the full problem. Hard problems often have approachable subtasks that are designed to guide you towards a solution. The About page has more information on subtasks and how your final score for a problem is decided.

Solutions to the problems from AIO 2021 are available here. Solutions to the problems from AIO 2023 are available in this blog written by Kevin Zhu. As always, you should attempt the problems first and only read solutions if you are stuck.

Finally, take a look at the below tutorials if you are interested in learning some advanced informatics content. Each tutorial guides you through some past AIO problems, teaching you content that can be applied beyond just that one problem: