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, like cutting a patterned ribbon where each piece shows a symmetrical design.
s: a b a c d c b a cuts: 0 1 2 3 4 5 6 7 8 palindrome checks: true/false for each substring