π[i] — длина максимального собственного супрефикса строки S[:i] (подстроки, которая одновременно префикс и суффикс). Это ядро алгоритма Кнута-Морриса-Пратта.
Как читать.i — текущая позиция, k — длина кандидата-супрефикса (он же указатель сравнения). Если S[i]≠S[k] — откатываем k = π[k−1] (прыжок по супрефиксам). Если совпало — k растёт. π[i]=k.