Skip to content

Chapter 14 — Problem Reduction Guide

The hardest skill in competitive programming isn't knowing algorithms — it's recognizing which algorithm to use. This chapter teaches the meta-skill: how to transform an unfamiliar problem into a familiar one.

Many hard problems become manageable once you find the right reduction. The reduction itself is the hard part — and that is what this chapter trains.

Coming from: Chapter 13 — Worked Solutions — detailed thinking transcripts for real contest problems

This is the terminal chapter of the book. From here, the natural next moves are upsolving with the reflections corpus (reflections/), browsing TOPIC-CARDS.md and DECISION-ENGINE.md for retrieval, or returning to a specific chapter for depth.

Files

#TopicWhat You'll Learn
01Graph ModelingMany problems become clearer once you name the nodes and edges
02Binary Search Reductions"Find optimal X" → "Can we achieve X?"
03DP State DesignThe art of choosing what to remember
04Data Structure AugmentationMaking standard DS solve non-standard problems
05Problem TransformationsCoordinate compression, complement, dual, and other transforms
06Reduction PatternsA catalog of "if you see X, think Y"

Built for the climb from Codeforces 1100 to 2100.