KACTL is a competitive programming reference document that provides copy-pasteable C++ algorithm implementations for ICPC-style contests.
The tool addresses the need for reliable, contest-ready code that competitors can quickly reference and type during time-pressured events. Rather than implementing algorithms from scratch or relying on generic libraries, KACTL curates a collection of practical implementations optimized for manual transcription. The project deliberately excludes overly common algorithms like Dijkstra and very obscure techniques, focusing instead on the middle ground of useful but non-trivial implementations. Code is kept short and fast enough for competition constraints, with a terse coding style using macros and typedefs to minimize line count. Each algorithm includes metadata such as author, date added, description, testing status, and complexity information.
Teams preparing for ICPC competitions should consider KACTL if they want a pre-vetted, space-efficient reference document they can customize and print. The tool is most suitable for teams that prefer a curated, focused selection over exhaustive algorithm libraries. The project is designed to fit within a 25-page constraint, making it practical as a physical reference during contests. Users can personalize their copy by selecting which algorithms to include, modifying the cover page, and enabling syntax highlighting through edits to the LaTeX configuration files. The build system supports easy customization, allowing teams to see excluded algorithms and generate hashes for verification when typing code during competition.
Development activity shows consistent engagement with the codebase through pull requests and issue reports from users identifying bugs or suggesting improvements. The project maintains a deliberate editorial approach, with decisions about what to include or exclude based on practical utility for competition settings rather than completeness. The maintainers regularly commit generated PDFs to the repository for convenience, though infrequently to avoid slowing git operations. Documentation includes build instructions, customization guidance, and coding style conventions that reflect experience from actual competition use.