Overview
Advanced counting often uses bijections or recursive structure. The goal is to rephrase the problem into a simpler counting model.
Recursion is especially powerful for tilings, strings with restrictions, and state-based counting processes.
Key Ideas
- Bijection: count a set by mapping it to another set of known size.
- Recursion: count size objects by splitting into smaller sizes.
- Invariants help track what must remain constant across transformations.
- Characteristic equations solve linear recurrences.
Core Skills
Build a State Recurrence
Define states by the last few choices and build a recurrence with transitions.
Use Inclusion-Exclusion Carefully
When constraints overlap, compute total minus overlaps instead of ad hoc casework.
Identify a Bijection
Map objects to lattice paths or subsets to simplify the count.
Worked Example
Let be the number of binary strings of length with no consecutive 's. Then by considering the last digit. This is Fibonacci.
More Examples
Example 1: Tilings
Let be the number of tilings of a board with dominoes. with , .
Example 2: Inclusion-Exclusion
How many permutations of have no fixed points?
.
Example 3: Bijection
Count binary strings of length with no consecutive 's.
Map them to tilings of a board with squares and dominoes.
Strategy Checklist
- Define states clearly for recurrences.
- Look for bijections to standard models.
- Use inclusion-exclusion for overlapping constraints.
Common Pitfalls
- Double-counting when states are not disjoint.
- Forgetting initial conditions in recurrences.
- Applying inclusion-exclusion without checking overlaps.
Recursion Patterns
Tilings
For a board tiled by dominoes, the final placement is vertical or two horizontals, giving .
Strings with Constraints
If a string must avoid a pattern, classify by the last few characters to build states. Each state contributes a recurrence.
Linear Recurrences
If , solve . Then with constants from base cases.
Example: Explicit Recurrence
Suppose with . The homogeneous solution is . A particular solution is . So .
Practice Problems
| Status | Source | Problem Name | Difficulty | Tags | ||
|---|---|---|---|---|---|---|
| AIME | Very Hard | Show TagsCombinatorics, Recursion | ||||
| AIME | Very Hard | Show TagsBijection | ||||
Module Progress:
Join the AoPS Community!
Stuck on a problem, or don't understand a module? Join the AoPS community and get help from other math contest students.
