Mental Model
We want to split a string into the fewest pieces so that each piece reads the same forwards and backwards.
Analogy: Imagine cutting a ribbon into the smallest number of palindromic segments so each segment looks the same from both ends.
s: a b a c d c b a cuts: [0] -> [1] -> [2] -> ... -> [n] palindrome check matrix: T F T F F F F T F T F F F F F F T F T F F F F T F F F T F T F F F F F F T F F F F F F T F T F F F F F F F F T F T F T F F F F T
