CPSC 470B: Algorithms