I was reading IOI 2018 syllabus, but I was overwhelmed by the system of it. Some common known algorithms were placed under Excluded, but open to discussion or Excluded. So I decided to list them for ease of use.
Modular division and inverse elements.
ExcludedMatrix multiplication and exponentiation.
ExcludedTheory of combinatorial games, e.g., NIM game.
ExcludedRandomized algorithms.
ExcludedString algorithms and data structures: there is evidence that the inter-reducibility between KMP, Rabin-Karp hashing, suffix arrays/tree, suffix automaton, and Aho-Corasick makes them difficult to separate.
Excluded, but open to discussionHeavy-light decomposition and separator structures for static trees.
Excluded, but open to discussionTwo-dimensional tree-like data structures (such as a 2D statically balanced binary tree or a treap of treaps) used for 2D queries.
ExcludedMaximum flow. Flow/cut duality theorem.
Excluded, but open to discussion
I have some questions though:
Does
Excluded, but open to discussionmean that it can't appear in IOI? What about other OI such as APIO?Does
7.mean that 2D Binary Indexed Tree is also excluded?Could someone list the other side? The topics that are hard but it is allowed in IOI syllabus.



