Manacher Algorithm aabcc라는 문자열이 있다고 가정해보자. #a#a#b#c#c# 의 문자열의 팰린드롬을 검사한다. 각 알파벳에서 앞뒤의 문자가 같으면 count를 올려준다. 배열에는 각 알파벳이 가지는 펠린드롬 길이를 저장한다.
기둥의 둘레만큼 각 벽을 평행이동 한다고 생각해보자. 만약 4면의 길이가 각각 1일때 기둥이 없다면 둘레는 4가 될 것이다. 각 모퉁이에 반지름 2짜리 기둥을 세운다고 생각하면, 각 모퉁이는 원을 1/4로 자른 모양의 둥근 모퉁이가 될 것이다. 그 크기는 2pi(반지름2)*1/4이 될 것이다. 그렇게 되면 각 모퉁이에 기둥을 세웠다고 해도, 각 벽은 ...