This page assumes you have seen nothing. We build every letter, bracket, and idea the parent note (Palindrome algorithms — Manacher's algorithm (index 3.8.9)) leans on, in the order they depend on each other. By the end you should be able to read every line of that note without pausing.
Why does the topic need this? Every later idea — center, radius, mirror — is a statement about indices. If indices are shaky, nothing above them stands.
The picture that matters is symmetry about a center line: fold the string in half and the two halves land exactly on top of each other.
Why the topic needs this: the entire algorithm is "for every possible center, how far does the mirror hold?" You must first be crystal clear on what a center is and that there are two kinds.
Why the topic needs this: the array the algorithm builds, P[i], is exactly "the radius at center i." Radius is the quantity that mirrors cleanly between twins — length does not.
Why the topic needs this: it turns two messy cases into one uniform loop. This is the single most reused idea in the reference code (t = '#' + '#'.join(s) + '#').
Why the topic needs this: symmetry means "point i looks like its twin i′." To copy the twin's already-computed radius, you must know which index the twin is. That index is 2C−i.
Why the topic needs this: min(P[2C-i], R-i) — the heart of the algorithm — uses both R (the wall) and C (to find the twin). No C,R, no reuse, no linear time.
Why the topic needs this: it is the whole justification of "O(n)." Without it you cannot tell why Manacher beats Expand Around Center's worst case of O(n2).
Related destinations once you are ready: Longest Palindromic Substring, Expand Around Center, and cousins that reuse the same "copy from a known prefix" trick — the Z-Algorithm, the KMP failure function, and the Palindromic Tree (Eertree).