Blog
Findings, know-how, essays, and the occasional rant.
Software and systems, cognitive science and AI, and older posts in Chinese from my competitive programming years.
Editorial: 2013 Asia Chengdu Regional Contest
Editorial for a virtual run of the 2013 ICPC Asia Chengdu Regional Contest, covering graph construction, string processing, dynamic programming, Aho-Corasick automata, and convolution.
Editorial: 2015 ACM-ICPC World Finals - Marrakech
Editorial for a virtual run of the 2015 ACM-ICPC World Finals in Marrakech, covering min-cost flow, binary search, subsequence matching, pruned BFS, and Huffman coding.
Editorial | CF297 / Codeforces Round 180 (Div. 1)
Editorial for a virtual-contest run of Codeforces Round 180 (Div. 1), covering the approach and solution for problems A through E.
Editorial | CF521 / Codeforces Round 295 (Div. 1)
Editorial for a virtual-contest run of Codeforces Round 295 (Div. 1), covering the approach and solution for problems A through E.
Game Theory Study Notes
Study notes on game theory, covering the three theorems of winning/losing states, the Nim game, the SG function and SG theorem, and Wythoff's game.
Xdown: A Free All-in-One Download Tool
An overview of getting and configuring the free download tool Xdown, comparing its speed, interface, and extension setup with uGet, IDM, and Motrix.
Editorial |「Codeforces Gym 101173B」Bipartite Blanket | Hall's Theorem / Stable Marriage Problem
Editorial for Codeforces Gym 101173B (counting perfect matching subsets in a vertex-weighted bipartite graph), with background on Hall's theorem and the stable marriage problem (Gale-Shapley algorithm).
Chemistry Notes
High-school chemistry notes based on the High School Chemistry Reader, covering first ionization energy trends, chemical equations, silicon and colloids, and electrolyte solutions, with downloadable resources.
Template | Hungarian Algorithm
Template notes on the Hungarian algorithm for maximum bipartite matching, with a custom implementation and the OI Wiki reference implementation.
Editorial | CF1295 / Educational Codeforces Round 81 (Div. 2)
Editorial for Educational Codeforces Round 81 (Div. 2) problems A through F, covering contest-time approach, notes on the official tutorial, and reference code.
A Few Notes on Digit DP
Notes on the digit DP technique, with code for five example problems from LightOJ, HDU, and SPOJ.
C++ | A Few Useful Preprocessor Directives
A collection of practical C++ preprocessor directives: printing a variable's name, conditional compilation by C++ version, preventing duplicate header inclusion, and compiler flags for aggressive optimization.