You've practiced recognizing graph algorithm patterns.
Patterns covered:
- SCC + DP: Condense cycles, then DP on DAG
- -SAT: Boolean constraints with literals each
- Functional graphs: One outgoing edge per node
- Hamiltonian paths: Visit all vertices once (bitmask DP)
- Backtracking with heuristics: Knight's tour, Warnsdorff
The skill: Reading a problem and quickly identifying which technique applies.
Next step: Practice more problems. The more patterns you see, the faster you recognize them.