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.
Excluded
Matrix multiplication and exponentiation.
Excluded
Theory of combinatorial games, e.g., NIM game.
Excluded
Randomized algorithms.
Excluded
String 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 discussion
Heavy-light decomposition and separator structures for static trees.
Excluded, but open to discussion
Two-dimensional tree-like data structures (such as a 2D statically balanced binary tree or a treap of treaps) used for 2D queries.
Excluded
Maximum flow. Flow/cut duality theorem.
Excluded, but open to discussion
I have some questions though:
Does
Excluded, but open to discussion
mean 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.