During my middle and high school years, math contests were a big part of my life. Even as they become less relevant for me, I find myself occasionally coming back to them.
In 2017-2018, I trained Singapore’s National (top 30) and IMO teams with Eugene Lee and Tan Siah Yong. I’m proud to say that the team did really well. I still try to return for “guest lectures” every now and then to expose students to some novel ideas.
When I was a contestant, I found the training handouts posted by others to be extremely helpful, so here are some of my more interesting training handouts:
Characters and DFTs (SIMO Intensive, Jun 2025) - Guest session, starting from the roots-of-unity trick and going to more advanced ideas (e.g. the discrete Fourier transform). Contains appendices about equidistribution, solution counting, characters on abelian groups, Gauss sums and Fourier series. Shockingly, most of these things have applications to contest problems. Hints and Solutions available.
Convex Geometry (SIMO Intensive, Jun 2022) - Guest session, convex sets and their combinatorial geometry. Lattice polygons, convex hull, Minkowski sum, Helly’s Theorem etc.
Some advanced FE tricks (with solutions) (SIMO Intensive, Jul 2022) - Guest session, reboot of a 2018 handout. Pseudolinearity, and the $f(x)f(y)$ swap trick.
Heuristics for Inequalities (SIMO Intensive, Jul 2021) - Guest session, reboot of my 2018 Inequalities handout.
Algorithms for Construction (SIMO Intensive, Jun 2021) - Guest session, this was a handout almost seven years in the planning, and mostly inspired by the problems and ideas which changed my view on how I approach combinatorics problems of a certain flavor.
Analysis (SIMO Intensive, Sep 2020) - Guest session, looked at (1) problems getting wiped out by analysis (that seemingly have nothing to do with analysis!); (2) interesting counterintuitive constructions; (3) practise with analysis-style estimates and (4) bonus section on “Baire Category”-type problems.
Isogonal Conjugates (SIMO Intensive, Sep 2020) - Guest session, essentially a version of “Algebra ⋂ Geometry” focusing only on coharmonic points and isogonal conjugates (of a quadrilateral).
Linear Recurrences (RI Math Core training, May 2020) - Guest session, explored linear recurrence, linearity, and unexpected places it shows up. I covered a lot during the lesson that I was too lazy to type up. Link to handwritten tutorial.
Algebra ⋂ Geometry (SIMO Intensive, June 2019) - Guest session, exploring some of the more algebraic themes in geometry. Topics include: Projective Transformations and Spaces, Moving Points method (albeit briefly), Conics, Complex Points, Involutions, Coharmonic Hexagons and Cubic Curves.
Probabilistic Method (SIMO Intensive, June 2019) - Guest session, goes through common applications of the Probabilistic Method in Olympiad-style combinatorics problems.
Camp Quiz (SIMO Camp, June 2018) - A quiz proposed by the 2018 IMO team and some IMO alumni. All problems are original.
Inversion (SIMO Camp, June 2018) - An advanced geometric transformation. (I’m told that the 2016 version is more beginner friendly.)
Big Sums (IMO Training, June 2018) - Probably the most memorable “special topic” I did near the end of the IMO training. It’s exactly what the title says.
Heuristics for Inequalities (RI Math Core, Apr 2018) - How might you make progress on an inequality before you solve it? This article talks about some strategies towards that end.
Inversion (SIMO Intensive, June 2016) - Guest session, a detailed guide to one of the more advanced geometric transformations.
Sometimes I make life miserable for math contestants, and my dream is to do this on an international scale one day. So far, I have been responsible for writing the following:
SMO Open 2019 Q5 and Evan Chen livesolving it.
IMO 2025 P6 with Zhao Yu.
2021 - A three-part power round:
2020 - A two-part power round: part I was based on a problem about polynomial recurrence proposed by Zhao Yu Ma, and part II deals with the topology of infinite binary strings, with the goal of proving van der Waarden’s theorem.
2019 - A power round about additive combinatorics, covering the proofs of the Cauchy-Davenport theorem, some properties of Sidon sets and Plünnecke’s Inequality.
I wrote a little package called pbuilder to help making problem sets more convenient.