Advent of Code Trials and Tribulations
The advice below looks good.
TODO: find equivalent modules in nim.
If you're going for speed / leaderboard, Python is usually your best bet. Suggested libraries to be familiar with include:
stdlib: binascii, collections (especially defaultdict), fractions (gcd), itertools (combinations, combinations_with_replacement, permutations, product, izip, chain), md5, re, os/sys.
Non-std: networkx (graphs and shortest path), sympy (isprime()), numpy (efficient representation of large arrays).
It's useful to have a canned exhaustive tree search prepared (breadth/depth/"best"-first search).
-loeg
... Part of it is familiarity with the format, which of course assumes they keep things reasonably similar this year. Knowing the kinds of problems that appear (parsing, graphs, optimization, reverse engineering, etc.) helped me put together a little library of code that means I'm not spending time rewriting fundamental algorithms. ...
-nneonneo
Complex as 2d vector -> Clever!