Chapter 146

Home

The Final Challenge: Grandmaster Problems

Grandmaster-level problems aren't harder in isolation — they combine multiple techniques. You might need DP + binary search + data structures in a single problem. The skill is seeing how the pieces fit together.

The Grandmaster Mindset

Decompose

Break the problem into independent subproblems. Solve each separately, then combine. "This is DP on a tree where each node needs range queries from a segment tree."

Pattern recognition

Most hard problems are combinations of known patterns. "Minimise maximum sum" → binary search on answer. "Count permutations with constraints" → DP with combinatorics. "Query on tree path" → HLD.

Practice at the edge

Specialise in 2-3 topics you love, but maintain competency in all. Grandmasters know when to use which tool, not because they memorised every algorithm — they understood the underlying principles.

Review after every contest

Read editorials for problems you couldn't solve. Understand the solution deeply. Code it yourself without looking. This is how you turn a contest loss into lasting improvement.

You've completed all 146 chapters.From reading input to grandmaster. Now go solve.

The Journey Continues

These 146 chapters are a foundation — not a destination. The real learning happens when you apply them. Solve problems on Codeforces, AtCoder, and Kattis. Participate in contests. Read editorials. Teach others. Every grandmaster started exactly where you are.

// From 01-io-basics to 146-grandmaster:
//   - 16 phases
//   - 146 chapters
//   - C++ and Rust code throughout
//   - One step at a time
//
// The hardest step was the first one.
// Everything after that is just practice.

Practice