Important: The following is subject to change. Please visit this page frequently to get the most uptodate information.
ADVhttps://meet.google.com/covmxttixr 
See: How to join the online training sessions
Date  Session 1 13:00 – 15:20 
Session 2 15:30 – 17:50 


Advanced  Intermediate  For all trainees  
20210130  INTSolutions to HKOI 2020/21 Final Event (Junior Group) 14:00 – 15:20 
INTSolutions to HKOI 2020/21 Final Event (Senior Group) 15:30 – 16:50 

20210206  INT
Introduction to HKOIorientation, competitive programming and BigO Wong Man Hang, Wong Tsz Chun 
INT
Mathematics in OI (I)Number Theory: modular arithmetic, greatest common divisor, Extended Euclidean algorithm, prime numbers, fast exponential Chiu Long Hin Vincent 

20210213  no training  
20210220  ADV
Dynamic Programming (I)discussion of classical DP problems: knapsack, matrix multiplication, etc. Chow King Wang 
INT
Programming using C++data storage, data I/O, data manipulation, useful C++ features Wong Man Hang 
INT
Recursion, Divide and Conquerbasic concept, exhaustion, branch and bound, Master Theorem Chan King Kai 
20210227  ADV
Data Structures (II)binary heap, binary search tree, hash table, disjointset unionfind Yuen Lok Kan Ethen 
INT
Searching and Sortingsearching algorithms, sorting algorithms Li Cheuk Man 
INT
Optimization and Common Tricksprefix sum, delta array, sliding windows(two pointers), precomputation, discretization, etc. Cheng Tsz Ying 
20210306  ADV
Graph (II)shortest path algorithms for weighted graphs, minimum spanning tree Chung Wai Jit 
INT
Greedy Algorithmsbasic concept, explanation to several problems using greedy algorithms Lee Ching Hei 
INT
Constructive Algorithms, Special Tasksconstructive algorithms, introduction to interactive tasks / outputonly tasks Wong Tsz Chun 
20210313  HKOJMini Competition (I) 13:00 – 16:30 
INTSolutions to Mini Competition (I) 16:50 – 17:50 

20210320  ADV
Dynamic Programming (II)DP on trees/directed acyclic graphs, bitwise DP, DP dimension reduction techniques Ng Yau Fu 
INT
Data Structures (I)queue, stack, linked list Chan Wai Chi 
INT
Mathematics in OI (II)Combinatorics and Probability: nCr, nPr, expected value, inclusion/exclusion, Catalan number, counting Li Cheuk Man 
20210327  HKOJMini Competition (II) 13:00 – 16:30 
INTSolutions to Mini Competition (II) 16:50 – 17:50 

20210403  ADV
Data Structures (III)sparse table, segment tree, lazy propagation, 1d/2d binary indexed tree Wong Yik Chun 
INT
Graph (I)basic concepts, graph representation, grid graph, depth first search, flood fill, breadth first search Chan Wai Chi 
INT
Advanced C++ STLadvanced C++ STL functions / containers: bitset, policybased tree, map, set, etc. Wai Ka Hei 
20210410  ADV
Graph (III)algorithms on tree: application on preorder/postorder, lowest common ancestor, tree diameter Choi Chun Ming 
INT
Dynamic Programming (Ia)basic concepts, maximum subarray sum, knapsack, longest common subsequence Chow King Wang 
INT
Computational Geometryconcept and implementation on basic computational geometry: point, line, segment, polygon, convex hull, etc. Chiu Long Hin Vincent 
20210417  TBDTeam Formation Test 14:0019:00 

20210424  ADV
Dynamic Programming (III)DP optimization tricks: monotone queue, convex hull trick, divide and conquer Chow Kwan Ting Jeremy 
INT
Data Structures (IIa)binary heap, disjointset unionfind Yuen Lok Kan Ethen 
INTTBD 
20210501  ADV
Graph (IV)Graph Connectivity: cut edge, articulation point, bridgeconnected component, strongly/weakly connected component, graph shrinking trick Liu Man Kai 
INT
Graph (IIa)shortest path algorithms for weighted graphs Chung Wai Jit 
INTTBD 
20210508  HKOJMini Competition (III) 13:00 – 16:30 
INTSolutions to Mini Competition (III) 16:50 – 17:50 

20210515  ADV
String Algorithmstrie, hashing, KMP Algorithm, suffix array, suffix tree, Z Algorithm, Manacher’s Algorithm, Aho–Corasick Algorithm Chow Kwan Ting Jeremy 
INT
Dynamic Programming (Ib)multidimensional DP problems Chow King Wang 
INTTBD 