In this repo I put my programming training, mostly based on the CP book, against UVa judge; moreover, an index is provided.
In addition, more interesting material can be found in the following places:
- https://algocoding.wordpress.com/2015/04/21/notes-and-courses-for-competitive-programming/
- http://www.cs.cornell.edu/~wdtseng/icpc/
- https://algo.is/
- http://www.martystepp.com/acm/
- http://www3.cs.stonybrook.edu/~skiena/392/javaprograms/
- https://crypto.stanford.edu/pbc/notes/ (not really about programming, but with interesting math)
- http://docs.sympy.org/latest/modules/polys/wester.html (again, interesting math)
My plan is to use Python as the primary language to solve problems; for this reason,
the python-libs
directory contains useful definitions to ease solving,
classified as follows:
- utils, IO: input utils, behavior, timing
- bitmasking: bit manipulation, gray codes
- sorting: sorting and ordering
- data structures:
- linear: team queue
In order to use these modules in either IPython or Jupyter notebooks sessions, just set the PYTHONPATH
variable, here's and example:
PYTHONPATH=~/Developer/working-copies/programming-contests/competitive-programming/python-libs/ jupyter-notebook
At the same time, I help myself by taking notes about programming techniques, collecting them in Jupyter notebooks: