Здравствуйте!
Пожалуйста подскажите как решить, используя суффиксные деревья или массивы.
Самое очевидное решение (не верное):
Надо сгенерироать все подстроки и включить их в бор, а потом перевернуть строку и снова сгенерировать все подстроки от перевернутой строки и проверить есть ли что-то в боре из этого набора (начиная с самой большой подстроки).
ломается тестом: qwertypoETEioytrewq
можно динамикой =)
http://e-maxx.ru/algo/palindromes_count
а лучше вот тут почитать))