Guide to Competitive Programming

This chapter discusses the selection of algorithm design topics.

Bit-Parallel Algorithms: focuses on bit-parallel algorithms that use bit operations to efficiently process data. Typically, we can replace a for loop with bit operations, which may remarkably improve the running time of the algorithm.
Amortized Analysis: Presents the amortized analysis technique, which can be used to estimate the time needed for a sequence of operations in an algorithm. Using the technique, we can analyze algorithms for determining the nearest smaller elements and sliding window minima.

Amortized Analysis: Discusses ternary search and other techniques for efficiently calculating minimum values of certain functions.