The document discusses algorithms for finding the shortest path using Dijkstra's algorithm, optimizing road lighting by finding a minimum spanning tree, determining if a shortest path or minimum spanning tree would change if edge costs were modified, and finding the median of two databases using logarithmically many queries. It provides problems, solutions, and analyses for each algorithm discussed.