This repository serves as a personal archive for my competitive programming journey, including solutions, notes, and whiteboard sketches from various platforms.
- Solutions: Code solutions to problems from platforms like USACO, Codeforces, CSES, LeetCode, Project Euler, and Advent of Code. The problems are organized by platform and then by contest or problem set.
- If a problem consists of a single file, it is simply named with the problem name (e.g.,
problem.cpp). - If a problem has multiple associated files (such as whiteboard sketches or multiple solution versions) it's stored in a folder named after the problem. Inside, you might find files like
problem/1.cpp,problem/2.cpp, andproblem/Sketch.png. Note that these numbered solutions are incremental;2.cppis (usually) an optimized and/or improved version of1.cpp. If not, it's just a later retry of the problem. Earlier versions like1.cppmay TLE (Time Limit Exceeded) but should still be functionally correct.
- If a problem consists of a single file, it is simply named with the problem name (e.g.,
- Whiteboardings: PNG files of diagrams and sketches. Importantly, all PNG whiteboardings are embedded with Excalidraw information, allowing you to upload them directly to Excalidraw to access and edit the full vector data. Note that not all problems have associated whiteboards; usually, easier problems do not.
Feel free to explore the directories for specific problem solutions and diagrams.
Clone the repo and navigate through the folders to find the relevant materials.
To edit a whiteboard PNG:
- Download the PNG file
- Go to Excalidraw
- Upload the PNG to import the embedded data
You might see a commit timestamp that makes it look like I posted a solution during a contest. That's just because I commit locally while I'm working. I don't actually push anything to GitHub until after the contest is over, and I also try to delay my local commits until after the contest to avoid this entirely.