Divide and Conquer

Split the problem into independent subproblems, solve each recursively, then combine their results.

Split the problem into independent subproblems, solve each recursively, then combine their results.

Each recursive call operates on a strictly smaller, independent subproblem with no shared mutable state with its siblings.

Non-overlapping subproblems mean no redundant computation — unlike memoised DP which caches results to avoid repeating shared subproblems.

Balanced splits give O(n log n) total work when the combine step is O(n), per the Master Theorem.