Home

Awesome

Common Lisp code collection for competitive programming

Build Status

This code collection is maintained mainly for competitive programming, and partly for just understanding algorithms.

License

The greater part of this library is distributed as public domain, or licensed under either CC0 or the MIT license, whichever gives you the most rights in your legislation. Some code, however, has its specific license (usually because it is a dead copy of other library). For the details, please see the header of each file.

Style

Although I put this code collection in a ASDF module, this project is primarily made for competitive programming and the whole structure will be quite different from a common ASDF library. I don't recommend that you directly load this module for your software.

On portability: I try to write portable code as long as the code structure doesn't get too complicated. However, I occasionally use extensions and behaviours of SBCL x86-64, mainly for performance reasons. Below is a SBCL-specific feature that I always depend on:

Below are the features that I sometimes use:

Every data structure and algorithm uses a 0-based index and a half-open interval unless otherwise noted.

Test environment

Contents

Unclassified data structures

Unclassified algorithms

Arithmetic and algebra

Real and complex

Bit operations

Graph

Optimization

Euclidean geometry

String

I/O

Other utilities

Weird things